File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -786,7 +786,7 @@ def loc_to_path(obj):
786
786
prov_log_handler .close ()
787
787
_logger .removeHandler (prov_log_handler )
788
788
with open (prov_log_handler_filename , "rb" ) as log :
789
- research_obj .add_data_file (log )
789
+ research_obj .write_log (log )
790
790
research_obj .close (args .provenance )
791
791
792
792
_logger .removeHandler (stderr_handler )
Original file line number Diff line number Diff line change @@ -1016,6 +1016,23 @@ def _initialize_bagit(self):
1016
1016
# TODO: \n or \r\n ?
1017
1017
bag_it_file .write (u"BagIt-Version: 0.97\n " )
1018
1018
bag_it_file .write (u"Tag-File-Character-Encoding: %s\n " % ENCODING )
1019
+
1020
+ def write_log (self ,logger ):
1021
+ self .self_check ()
1022
+ """Copies log files to the snapshot/ directory."""
1023
+ assert self .folder
1024
+ path = os .path .join (self .folder , SNAPSHOT , logger .name .split ("/" )[- 1 ])
1025
+ # FIXME: What if destination path already exists?
1026
+ try :
1027
+ if os .path .isdir (path ):
1028
+ shutil .copytree (logger .name , path )
1029
+ else :
1030
+ shutil .copy (logger .name , path )
1031
+ when = datetime .datetime .fromtimestamp (os .path .getmtime (logger .name ))
1032
+ self .add_tagfile (path , when )
1033
+ except PermissionError :
1034
+ pass # FIXME: avoids duplicate snapshotting; need better solution
1035
+
1019
1036
1020
1037
def _finalize (self ):
1021
1038
# type: () -> None
You can’t perform that action at this time.
0 commit comments