diff --git a/common.py b/common.py index 6349cad..3cae8ea 100644 --- a/common.py +++ b/common.py @@ -55,6 +55,8 @@ if not config.has_option('AUTOBACKUP', 'backup_dir'): config.set('AUTOBACKUP', 'backup_dir', os.path.expanduser('~/PCAutoBackup')) + if not config.has_option('AUTOBACKUP', 'create_date_subdir'): + config.set('AUTOBACKUP', 'create_date_subdir', '1') if not config.has_option('AUTOBACKUP', 'default_interface'): try: config.set('AUTOBACKUP', 'default_interface', diff --git a/mediaserver.py b/mediaserver.py index d0ad991..de0200c 100644 --- a/mediaserver.py +++ b/mediaserver.py @@ -80,8 +80,12 @@ def WriteObject(self, obj_id, data): obj_details = self.GetObjectDetails(obj_id) - obj_dir = os.path.join(self.config.get('AUTOBACKUP', 'backup_dir'), - obj_details['obj_date']) + obj_dir = [self.config.get('AUTOBACKUP', 'backup_dir')] + + if self.config.getboolean('AUTOBACKUP', 'create_date_subdir'): + obj_dir.append(obj_details['obj_date']) + + obj_dir = os.path.join(*obj_dir) if not os.path.isdir(obj_dir): self.logger.info('Creating output dir %s', obj_dir) diff --git a/pc_autobackup.py b/pc_autobackup.py index f4b9307..504a1bd 100755 --- a/pc_autobackup.py +++ b/pc_autobackup.py @@ -155,6 +155,9 @@ metavar='FILE') parser.add_option('-n', '--name', dest='server_name', help='change server name', metavar='NAME') + parser.add_option('--no_create_date_subdir', dest='no_create_date_subdir', + action='store_true', default=False, + help='do not create subdirs in ouput_dir for media dates') parser.add_option('-o', '--output_dir', dest='output_dir', help='output directory for files', metavar='DIR') parser.add_option('-q', '--quiet', dest='quiet', action='store_true', @@ -188,6 +191,9 @@ if options.bind: config.set('AUTOBACKUP', 'default_interface', options.bind) update_config = True + if options.no_create_date_subdir: + config.set('AUTOBACKUP', 'create_date_subdir', '0') + update_config = True if options.output_dir: config.set('AUTOBACKUP', 'backup_dir', options.output_dir) update_config = True @@ -219,12 +225,14 @@ if options.debug: GetSystemInfo() - resource = mediaserver.MediaServer() - factory = Site(resource) reactor.listenMulticast(1900, ssdp.SSDPServer(), listenMultiple=True) logger.info('SSDPServer started') + + resource = mediaserver.MediaServer() + factory = Site(resource) reactor.listenTCP(52235, factory) logger.info('MediaServer started') + reactor.run()