@@ -700,7 +700,9 @@ def login(
700700 Raises:
701701 LoginException: If there was a problem logging in.
702702 """
703- logger .warning ("'Keep.login' is deprecated. Please use 'Keep.authenticate' instead" )
703+ logger .warning (
704+ "'Keep.login' is deprecated. Please use 'Keep.authenticate' instead"
705+ )
704706 auth = APIAuth (self .OAUTH_SCOPES )
705707 if device_id is None :
706708 device_id = f"{ get_mac ():x} "
@@ -716,7 +718,9 @@ def resume(
716718 sync : bool = True ,
717719 device_id : str | None = None ,
718720 ) -> None :
719- logger .warning ("'Keep.resume' has been renamed to 'Keep.authenticate'. Please update your code" )
721+ logger .warning (
722+ "'Keep.resume' has been renamed to 'Keep.authenticate'. Please update your code"
723+ )
720724 self .authenticate (email , master_token , state , sync , device_id )
721725
722726 def authenticate (
@@ -787,8 +791,8 @@ def dump(self) -> dict:
787791 nodes .extend (node .children )
788792 return {
789793 "keep_version" : self ._keep_version ,
790- "labels" : [label .save (False ) for label in self .labels ()],
791- "nodes" : [node .save (False ) for node in nodes ],
794+ "labels" : [label .save (False , True ) for label in self .labels ()],
795+ "nodes" : [node .save (False , True ) for node in nodes ],
792796 }
793797
794798 def restore (self , state : dict ) -> None :
@@ -1018,7 +1022,7 @@ def labels(self) -> list[_node.Label]:
10181022 """
10191023 return list (self ._labels .values ())
10201024
1021- def __UNSTABLE_API_uploadMedia (self , fh : IO )-> None :
1025+ def __UNSTABLE_API_uploadMedia (self , fh : IO ) -> None :
10221026 pass
10231027
10241028 def getMediaLink (self , blob : _node .Blob ) -> str :
@@ -1083,15 +1087,22 @@ def _sync_notes(self) -> None:
10831087 logger .debug ("Starting keep sync: %s" , self ._keep_version )
10841088
10851089 # Collect any changes and send them up to the server.
1086- labels_updated = any (i .dirty for i in self ._labels .values ())
1090+ updated_nodes = self ._findDirtyNodes ()
1091+ updated_labels = [label for label in self ._labels .values () if label .dirty ]
10871092 changes = self ._keep_api .changes (
10881093 target_version = self ._keep_version ,
1089- nodes = [i .save () for i in self . _findDirtyNodes () ],
1090- labels = [i .save () for i in self ._labels .values ()]
1091- if labels_updated
1094+ nodes = [i .save (False ) for i in updated_nodes ],
1095+ labels = [i .save (False ) for i in self ._labels .values ()]
1096+ if updated_labels
10921097 else None ,
10931098 )
10941099
1100+ # Clear
1101+ for node in updated_nodes :
1102+ node .clean ()
1103+ for label in updated_labels :
1104+ label .clean ()
1105+
10951106 if changes .get ("forceFullResync" ):
10961107 raise exception .ResyncRequiredException ("Full resync required" )
10971108
0 commit comments