Example #1
0
 def __init__(self, url, extension, forbidden=[], syn = 'N', syndata= dict()):
     self.url = url
     self.extension = extension
     self.forbidden = forbidden
     self.linkList = '' # list of links to Clipboard        
     self.syn = {}
     self.commaList = ''  # list of links to synlogoy
     if (syn == 'Y' or syn == 'y') and syndata:            
         self.syn = synology(syndata['ip'], syndata['username'], syndata['password'])
    def create_tree(relpath, tree):
        directory = os.path.dirname(relpath)
        url = urlparse.urljoin(config['webshare']['url'], relpath)
        if not any(dir['name'] == directory for dir in tree):
            dir = dict()
            dir['name'] = directory
            dir['urls'] = list()
            dir['urls'].append(url)
            tree.append(dir)
        else:
            dir = next(dir for dir in tree if dir['name'] == directory)
            dir['urls'].append(url)

    tree = list()
    transmission.foreach(create_tree, tree)
    syno = synology.synology(config['synology']['url'])
    syno.login(config['synology']['username'], config['synology']['password'])
    for dir in tree:
        dest = os.path.join(config['synology']['destination'], dir['name'])
        for url in dir['urls']:
            syslog.syslog('"{}" <- "{}"'.format(dest, url))
        if dir['name']:
            syno.mkdir(config['synology']['destination'], dir['name'])
        syno.download(dir['urls'], dest, \
                config['webshare']['username'], config['webshare']['password'])
    syno.logout()
except Exception as e:
    syslog.syslog('Error: {}'.format(e.args))

syslog.closelog()