misc python code
This commit is contained in:
71
code/misc/python/scripts/DigitalPaper Management.py
Normal file
71
code/misc/python/scripts/DigitalPaper Management.py
Normal file
@@ -0,0 +1,71 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
from dptrp1.dptrp1 import DigitalPaper
|
||||
|
||||
client_id=''
|
||||
key=''
|
||||
SYNC_DIR = '/home/dl92/Documents/DigitalPaper/'
|
||||
def connect(address=''):
|
||||
"""
|
||||
Loads the key and client ID to authenticate with the DPT-RP1
|
||||
"""
|
||||
with open('/home/dl92/.dpt-client.txt', 'r') as f:
|
||||
client_id = f.readline().strip()
|
||||
|
||||
with open('/home/dl92/.dpt-key.txt', 'r') as f:
|
||||
key = f.read()
|
||||
|
||||
dpt = DigitalPaper(address)
|
||||
dpt.authenticate(client_id, key)
|
||||
return dpt
|
||||
|
||||
def sync(dpt):
|
||||
"""
|
||||
Given an authenticated DigitalPaper instance, download all note files to a
|
||||
specified directory.
|
||||
"""
|
||||
for doc in [f for f in dpt.list_documents() if (is_modified_note(f) and is_ReadingFolder(f)) ]:
|
||||
#docpath=os.path.dirname(doc['entry_path'])
|
||||
#if docpath=='Document/Reading' :
|
||||
data = dpt.download(doc['entry_path'])
|
||||
local_path = SYNC_DIR + os.path.basename(doc['entry_path'])
|
||||
with open(local_path, 'wb') as f:
|
||||
f.write(data)
|
||||
print('Saved {} to {}'.format(doc['entry_path'], local_path))
|
||||
|
||||
def is_modified_note(doc):
|
||||
import dateparser
|
||||
if doc['document_type'] == 'note' or doc['document_type'] == 'normal':
|
||||
local_path = SYNC_DIR + os.path.basename(doc['entry_path'])
|
||||
|
||||
if not os.path.exists(local_path):
|
||||
return True
|
||||
else:
|
||||
#print (local_path,doc['modified_date'], os.path.getmtime(local_path), dateparser.parse(doc['modified_date']).timestamp())
|
||||
return os.path.getmtime(local_path) < dateparser.parse(doc['modified_date']).timestamp()
|
||||
|
||||
def is_ReadingFolder(doc):
|
||||
docpath=os.path.dirname(doc['entry_path'])
|
||||
if docpath=='Document/Reading':
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def upload_overwrite(dpt,localpath, remotepath='Document/Reading'):
|
||||
import glob, os
|
||||
dpt.new_folder(remotepath)
|
||||
files= glob.glob(localpath+'/*.pdf')
|
||||
for f in files:
|
||||
print (f)
|
||||
dpt.upload_file(f,remotepath)
|
||||
|
||||
def delete_foldercontent(dpt,remotepath):
|
||||
[dpt.delete_document(doc['entry_path']) for doc in dpt.list_objects_in_folder(remotepath)]
|
||||
|
||||
|
||||
dpt=connect('192.168.0.131')
|
||||
#sync(dpt)
|
||||
#dpt.new_folder('Document/Miri')
|
||||
#upload_overwrite(dpt,SYNC_DIR+'/Upload','Document/Miri')
|
||||
Reference in New Issue
Block a user