开始准备配置保存和同步
This commit is contained in:
parent
944b660d84
commit
14b7c03a7c
7 changed files with 173 additions and 20 deletions
|
@ -5,4 +5,9 @@ weekday = ["星期一", "星期二", "星期三", "星期四", "星期五", "星
|
|||
weekday_index = datetime.datetime.now().weekday()
|
||||
month = datetime.datetime.now().month
|
||||
day = datetime.datetime.now().day
|
||||
print(datetime.datetime.now())
|
||||
print(str(month) + '月' + str(day) + '日,' + weekday[weekday_index])
|
||||
time1 = '2022-04-17 20:39:10.242742'
|
||||
time2 = datetime.datetime.now().strptime('2022-04-17 20:39:10', '%Y-%m-%d %H:%M:%S')
|
||||
print(time2, type(time2))
|
||||
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
|
||||
|
|
3
utils/CreateConfigure.py
Normal file
3
utils/CreateConfigure.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
|
||||
|
||||
# todo : 用来创建软件的配置信息
|
|
@ -0,0 +1,86 @@
|
|||
import os
|
||||
import platform
|
||||
import uuid
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
"""
|
||||
todo : 暂时创建单个文件存储该列表下所有待办事项,文件命名为 {uuid}.otl
|
||||
同级还有 library.json 存储该列表信息
|
||||
上一级创建一个配置文件,里边保存“我的一天”、“重要” 的 列表uuid/待办事项uuid
|
||||
始终还是要读取文件,选择尽量少的读取和写入
|
||||
(可以尝试在待办事项添加 isMyDay属性和isImportant属性)
|
||||
"""
|
||||
|
||||
|
||||
class CreateToDo:
|
||||
"""
|
||||
:param item_type: 创建的类型,为ToDo和ToDoList
|
||||
:param name: 要创建的ToDoList名字
|
||||
:param todo_list_uid : 待办事项列表的uid,可选
|
||||
"""
|
||||
|
||||
def __init__(self, item_type, name, todo_list_uid=None):
|
||||
uid = str(uuid.uuid4())
|
||||
config_path = self.get_config_path()
|
||||
todo_list_path = config_path + '/{' + uid + '}'
|
||||
default_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||
if item_type == 'ToDoList':
|
||||
try:
|
||||
"""
|
||||
createdAt : 创建时间
|
||||
dueTo : 完成时间
|
||||
itemType : 类型
|
||||
notes : 笔记
|
||||
title : 标题
|
||||
updatedAt : 最后一次更新时间
|
||||
"""
|
||||
os.mkdir(todo_list_path)
|
||||
out_config = {
|
||||
"createdAt": default_time,
|
||||
"dueTo": '',
|
||||
"itemType": item_type,
|
||||
"notes": "",
|
||||
"title": name,
|
||||
"uid": uid,
|
||||
"updatedAt": default_time
|
||||
}
|
||||
library = {
|
||||
"title": name,
|
||||
"uid": uid
|
||||
}
|
||||
with open(todo_list_path + '/library.json', 'w') as f:
|
||||
f.write(json.dumps(library))
|
||||
except IOError as e:
|
||||
print(e)
|
||||
elif item_type == 'ToDo':
|
||||
try:
|
||||
# done : 完成状态
|
||||
# todoListUid : 父列表id
|
||||
out_config = {
|
||||
"createdAt": default_time,
|
||||
"done": False,
|
||||
"dueTo": '',
|
||||
"itemType": "Todo",
|
||||
"notes": "",
|
||||
"title": name,
|
||||
"todoListUid": todo_list_uid,
|
||||
"uid": uid,
|
||||
"updatedAt": default_time
|
||||
}
|
||||
with open(todo_list_path + '/' + uid + '.otl', 'w') as f:
|
||||
f.write(json.dumps(out_config))
|
||||
except IOError as e:
|
||||
print(e)
|
||||
|
||||
def get_config_path(self):
|
||||
|
||||
# print(platform.system())
|
||||
if platform.system() == 'Linux':
|
||||
print(os.environ['HOME'] + '.config/PyQtToDoList')
|
||||
# print(os.path.expandvars('~'))
|
||||
print(os.path.expandvars('$HOME') + '.config/PyQtToDoList')
|
||||
return os.path.expandvars('$HOME') + '.config/PyQtToDoList'
|
||||
elif platform.system() == 'Windows':
|
||||
print(os.getcwd() + 'config')
|
||||
return os.getcwd() + 'config'
|
37
utils/CreateToDoConfig.py
Normal file
37
utils/CreateToDoConfig.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
import os
|
||||
import platform
|
||||
import uuid
|
||||
import json
|
||||
|
||||
|
||||
class CreateConfig:
|
||||
"""
|
||||
:param title: 配置文件的
|
||||
"""
|
||||
|
||||
def __init__(self, title):
|
||||
uid = str(uuid.uuid4())
|
||||
config_path = self.get_config_path()
|
||||
todo_list_path = config_path + '/{' + uid + '}'
|
||||
try:
|
||||
os.mkdir(todo_list_path)
|
||||
library = {
|
||||
"title": title,
|
||||
"uid": uuid
|
||||
}
|
||||
with open(todo_list_path + '/library.json', 'w') as f:
|
||||
f.write(json.dumps(library))
|
||||
except IOError as e:
|
||||
print(e)
|
||||
pass
|
||||
|
||||
def get_config_path(self):
|
||||
# print(platform.system())
|
||||
if platform.system() == 'Linux':
|
||||
print(os.environ['HOME'] + '.config/PyQtToDoList')
|
||||
# print(os.path.expandvars('~'))
|
||||
print(os.path.expandvars('$HOME') + '.config/PyQtToDoList')
|
||||
return os.path.expandvars('$HOME') + '.config/PyQtToDoList'
|
||||
elif platform.system() == 'Windows':
|
||||
print(os.getcwd() + 'config')
|
||||
return os.getcwd() + 'config'
|
|
@ -1,5 +0,0 @@
|
|||
import os
|
||||
|
||||
print(os.environ['HOME'])
|
||||
print(os.path.expandvars('~'))
|
||||
print(os.path.expandvars('$HOME'))
|
42
utils/LoginAction.py
Normal file
42
utils/LoginAction.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
from webdav3.client import Client
|
||||
|
||||
|
||||
class LoginAction:
|
||||
"""
|
||||
:param login_type : 登录方式 有 NextCloud、JianGuoYun、WebDav
|
||||
:param webdav_login : 登录用户名
|
||||
:param webdav_password : 登录密码
|
||||
:param webdav_hostname : 服务地址
|
||||
"""
|
||||
|
||||
def __init__(self, login_type, webdav_login, webdav_password, webdav_hostname=None):
|
||||
options = {}
|
||||
if login_type == 'NextCloud':
|
||||
webdav_hostname = webdav_hostname + '/' if webdav_hostname[-1] == '/' else webdav_hostname
|
||||
options = {
|
||||
'webdav_hostname': webdav_hostname + "remote.php/dav/files/admin/",
|
||||
'webdav_login': webdav_login,
|
||||
'webdav_password': webdav_password
|
||||
}
|
||||
elif login_type == 'JianGuoYun':
|
||||
options = {
|
||||
'webdav_hostname': "https://dav.jianguoyun.com/dav/",
|
||||
'webdav_login': webdav_login,
|
||||
'webdav_password': webdav_password
|
||||
}
|
||||
elif login_type == 'WebDav':
|
||||
webdav_hostname = webdav_hostname + '/' if webdav_hostname[-1] == '/' else webdav_hostname
|
||||
options = {
|
||||
'webdav_hostname': webdav_hostname,
|
||||
'webdav_login': webdav_login,
|
||||
'webdav_password': webdav_password
|
||||
}
|
||||
|
||||
client = Client(options)
|
||||
# client.execute_request('list')
|
||||
list1 = client.list('/')
|
||||
print(list1)
|
||||
exist = client.check('OpenTodoList')
|
||||
print(exist)
|
||||
if not exist:
|
||||
client.mkdir('OpenTodoList')
|
|
@ -1,15 +0,0 @@
|
|||
from webdav3.client import Client
|
||||
|
||||
import configparser
|
||||
|
||||
options = {
|
||||
'webdav_hostname': "https://cloud.liyp.cc/remote.php/dav/files/admin/",
|
||||
'webdav_login': "admin",
|
||||
'webdav_password': ""
|
||||
}
|
||||
client = Client(options)
|
||||
# client.execute_request('list')
|
||||
list1 = client.list('/')
|
||||
print(list1)
|
||||
exist = client.check('OpenTodoList')
|
||||
print(exist)
|
Loading…
Reference in a new issue