118 x served & 34 x viewed
Here the script in Python : https://github.com/CYBERNEURONES/Python/blob/master/JoplinCleanRessource.py
#
# Version 1
# for Python 3
#
# ARIAS Frederic
# Sorry ... It's difficult for me the python :)
#
from time import gmtime, strftime
import time
import json
import requests
import os
import sqlite3
import re
#conn = sqlite3.connect('my_db.db')
find_this = "\(:/"
#c = conn.cursor()
#c.execute('''DROP TABLE LINK''')
#conn.commit()
#c.execute('''CREATE TABLE LINK (ID_NOTE text, ID_RESOURCE text, CHECKSUM_MD5 text)''')
#conn.commit()
#IP
ip = "127.0.0.1"
port = "41184"
token = "Put the token here"
nb_request = 0
my_body = ""
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
url_notes = (
"http://"+ip+":"+port+"/notes?"
"token="+token
)
nb_total_ressource = 0
nb_local_ressource = 0
ALL_ID = {}
try:
resp = requests.get(url_notes, headers=headers)
nb_request += 1
resp.raise_for_status()
resp_dict = resp.json()
#print(resp_dict)
for my_note in resp_dict:
nb_local_ressource = 0
my_body = my_note.get('body')
my_ressource = [m.start() for m in re.finditer(find_this, my_body)]
for my_ressource_x in my_ressource:
nb_total_ressource += 1
nb_local_ressource += 1
my_ressource_id = my_body[my_ressource_x+3:my_ressource_x+32+3]
print(nb_local_ressource,":",my_note.get('id'),":",my_ressource_id)
ALL_ID[my_ressource_id]=my_note.get('id')
#c.execute(sql_request)
#conn.commit()
except requests.exceptions.HTTPError as e:
print("Bad HTTP status code:", e)
except requests.exceptions.RequestException as e:
print("Network error:", e)
nb_keep = 0
nb_remove = 0
url_resources = (
"http://"+ip+":"+port+"/resources?"
"token="+token
)
try:
resp = requests.get(url_resources, headers=headers)
nb_request += 1
resp.raise_for_status()
resp_dict = resp.json()
#print(resp_dict)
for my_resource in resp_dict:
my_id = my_resource.get('id')
if my_id in ALL_ID:
print("Keep for notes",ALL_ID[my_id])
nb_keep += 1
else:
print("Remove");
nb_remove += 1
url_resources_delete = (
"http://"+ip+":"+port+"/resources/"+my_id+"?"
"token="+token
)
try:
resp2 = requests.delete(url_resources_delete, headers=headers)
resp.raise_for_status()
nb_request += 1
except requests.exceptions.HTTPError as e:
print("Bad HTTP status code:", e)
except requests.exceptions.RequestException as e:
print("Network error:", e)
except requests.exceptions.HTTPError as e:
print("Bad HTTP status code:", e)
except requests.exceptions.RequestException as e:
print("Network error:", e)
#conn.close()
print("nb_request",nb_request,"nb_total_ressource : ",nb_total_ressource," nb_local_ressource : ",nb_local_ressource)
print("nb_keep",nb_keep,"nb_remove",nb_remove);
Here the result :
$ grep "Total resources:" .config/joplin-desktop/log.txt | awk '{print $1 " " $5}' | uniq | tail -f
2019-02-25 10191"
2019-02-25 10194"
2019-02-25 10190"
2019-02-26 10190"
2019-02-27 10190"
2019-02-28 10190"
2019-02-28 10192"
2019-03-01 10192"
2019-03-01 2919"
2019-03-01 2814"
WordPress:
J'aime chargement…