Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
天驴滚滚
Tagdox
提交
d0df1b15
T
Tagdox
项目概览
天驴滚滚
/
Tagdox
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Tagdox
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
d0df1b15
编写于
10月 04, 2021
作者:
J
Jian Ma
提交者:
GitHub
10月 04, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'local' into local
上级
92c747fd
cca03e23
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
67 addition
and
55 deletion
+67
-55
README.md
README.md
+7
-48
更新记录.md
更新记录.md
+8
-4
标签文库.py
标签文库.py
+52
-3
未找到文件。
README.md
浏览文件 @
d0df1b15
...
...
@@ -12,20 +12,12 @@
Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费开源工具。通过Python语言编写。
通过对文件重命名的方式,以^号(默认值,可修改)将标签直接标记在文件名中
,并可实现标签的识别和查询等功能。
利用Windows系统NTFS文件流的特性,为文件加标签
,并可实现标签的识别和查询等功能。
可实现对大量文件的标签化快速管理,可显著提升效率。
#### 备注:为什么默认值的标签符号是 \^,而不是#呢?
因为开发需要用到C#、J#等词语,很多材料也会将#号视为数字编码符号。
这样的话,如果将#识别为默认的标签符号,将带来很大麻烦,于是将默认值设置为
\^
号。
## 开发说明
本程序采用Python实现,程序界面主要依靠tkinter库完成开发。
...
...
@@ -55,6 +47,9 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
## 近期更新
#### v0.21.1.0 2021年10月4日
为文件列表的鼠标指向增加了高亮效果。
#### v0.21.0.0 2021年10月3日
优化标签逻辑,采用NTFS流模式,不再影响文件名(测试版)。
优化右键响应,现在可以正确在被点击的项目处出现右键菜单了。
...
...
@@ -110,7 +105,7 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
####
以重命名的方式,
为文件添加 / 删除标签。
#### 为文件添加 / 删除标签。
可以为指定的文件快速添加标签,快捷键是 Ctrl+T。支持多文件批量操作。
...
...
@@ -128,20 +123,6 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
注意:
标签将
**以重命名的方式**
,通过 ^ 号(可自定义)分隔,添加到文件名中。
> 举例:「某某通知.pdf」加入标签“标签1”、“标签2”之后,文件名将变为「某某通知\^标签1\^标签2.pdf」。
>
> 在程序内会分开显示,解析为「某某通知.pdf」和 “标签1”、“标签2”。
**注意:如果文件名不适合修改,则禁止采用本程序进行增删标签操作。尤其是系统文件!**
**改文件名导致的各种损失,责任自负哦。**
当然,删除标签也是一键搞定。
![
image-20210907214903690
](
_img/image-20210907214903690.png
)
...
...
@@ -150,18 +131,10 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
#### 自动识别文件的标签
本程序可以自动识别标签,对指定文件夹内部所有文件(包括子目录的文件)进行标签化管理。
识别方法1:以文件名中的 ^号作为标签分隔符,自动分段提取。
> 例如,「某某通知^ 通知 ^会议记录 ^发布.pdf」会识别为 「某某通知.pdf 」+ 「标签:通知、会议记录、发布」
##### 补充:识别文件夹标签
(备注:本功能即将被移除或重做)
对于文件名包括标签识别符的,也会识别为标签。可以方便地进行大批量快速管理。
如果有些文件拥有相同的主题(公共标签),可以直接放在叫做「文件夹名称^标签名称」的文件夹内,程序会自动将「标签名称」识别为批量标签,为文件夹里面所有项都添加这个标签,而无需对每个文件进行重命名操作。
...
...
@@ -288,17 +261,3 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
目前还没有制作专门的安装包,所以将最新版压缩包下载后,解压缩,直接覆盖旧版文件夹即可。
#### 备注:关于高分屏模糊
代码已经为高分屏会出现的模糊做了特殊适配,按理说不应该存在模糊情况。
如果仍然存在模糊,可以尝试按照如下方式解决:
右击,属性 - 兼容性标签页 - 更改高DPI设置,在下面“替代高DPI缩放行为”处打钩,确定即可。
未发生模糊时请勿执行上述操作,否则对话框可能会偏移。
更新记录.md
浏览文件 @
d0df1b15
...
...
@@ -9,10 +9,14 @@
## 更新记录
#### v0.21.0.1 2021年10月4日
优化标签类封装逻辑,关闭文件前一直占用文件。
<br
/>
新增常用工具函数,直接对标签进行增加、删除、清空、查询。
<br
/>
新增依赖说明requirements.txt。
<br
/>
#### v0.21.1.1 2021年10月4日
储备:优化标签类封装逻辑,关闭文件前一直占用文件。
储备:新增常用工具函数,直接对标签进行增加、删除、清空、查询。
储备:新增依赖说明requirements.txt。
#### v0.21.1.0 2021年10月4日
为文件列表的鼠标指向增加了高亮效果。
#### v0.21.0.0 2021年10月3日
优化标签逻辑,采用NTFS流模式,不再影响文件名(测试版)。
优化右键响应,现在可以正确在被点击的项目处出现右键菜单了。
...
...
标签文库.py
浏览文件 @
d0df1b15
...
...
@@ -46,10 +46,12 @@ URL_HELP = 'https://gitee.com/horse_sword/my-local-library' # 帮助的超链
URL_ADV
=
'https://gitee.com/horse_sword/my-local-library/issues'
# 提建议的位置
URL_CHK_UPDATE
=
'https://gitee.com/horse_sword/my-local-library/releases'
# 检查更新的位置
TAR
=
'Tagdox / 标签文库'
# 程序名称
VER
=
'v0.21.
0
.0'
# 版本号
VER
=
'v0.21.
1
.0'
# 版本号
'''
## 近期更新说明
#### v0.21.1.0 2021年10月4日
为文件列表的鼠标指向增加了高亮效果。
#### v0.21.0.0 2021年10月3日
优化标签逻辑,采用NTFS流模式,不再影响文件名(测试版)。
优化右键响应,现在可以正确在被点击的项目处出现右键菜单了。
...
...
@@ -4459,7 +4461,7 @@ def exec_tree_file_drop_tag(event=None):
def
exec_tree_right_click
(
event
):
"""
右键点击
右键点击
tree 区域
:param event:
:return:
...
...
@@ -4467,11 +4469,12 @@ def exec_tree_right_click(event):
tmp
=
app
.
tree
.
identify_row
(
event
.
y
)
if
tmp
not
in
app
.
tree
.
selection
():
app
.
tree
.
selection_set
(
tmp
)
exec_tree_mouse_highlight
(
event
,
clear_only
=
True
)
def
exec_tree_folder_right_click
(
event
):
"""
右键点击
右键点击
folder 区域
:param event:
:return:
...
...
@@ -4693,6 +4696,48 @@ def fixed_map_v2(tar, option):
elm
[:
2
]
!=
(
'!disabled'
,
'!selected'
)]
def
exec_tree_mouse_highlight
(
event
,
clear_only
=
False
):
"""
鼠标指向的项目加背景色
:param event:
:return:
"""
_iid
=
app
.
tree
.
identify_row
(
event
.
y
)
# print(event.y)
def
remove_last_tag
():
if
app
.
last_focus
:
try
:
# 之前的去掉高亮
tags_old
=
list
(
app
.
tree
.
item
(
app
.
last_focus
,
"tags"
))
tags_old
.
remove
(
'line_mouse'
)
app
.
tree
.
item
(
app
.
last_focus
,
tags
=
tags_old
)
except
:
pass
if
clear_only
:
remove_last_tag
()
app
.
last_focus
=
None
return
if
_iid
!=
app
.
last_focus
:
remove_last_tag
()
"""if app.last_focus:
try: # 之前的去掉高亮
tags_old = list(app.tree.item(app.last_focus, "tags"))
tags_old.remove('line_mouse')
app.tree.item(app.last_focus, tags=tags_old)
except:
pass"""
# 新项目加高亮
tags_new
=
list
(
app
.
tree
.
item
(
_iid
,
"tags"
))
tags_new
=
[
'line_mouse'
]
+
tags_new
app
.
tree
.
item
(
_iid
,
tags
=
tags_new
)
# print(self.tree.item(_iid,"value"))
#
# 新项目保存
app
.
last_focus
=
_iid
def
set_style
(
style
):
"""
显示的样式
...
...
@@ -4724,6 +4769,8 @@ def set_style(style):
LIGHT_THEME
=
True
if
LIGHT_THEME
:
for
tar
in
[
app
.
tree_lst_folder
,
app
.
tree_lst_sub_folder
,
app
.
tree_lst_sub_tag
,
app
.
tree
]:
# 标签生效顺序是,定义在前面的优先生效,和实际标签列表里面的顺序没有关系
tar
.
tag_configure
(
'line_mouse'
,
background
=
"#dddfe2"
)
tar
.
tag_configure
(
'line1'
,
background
=
"#F2F2F2"
)
# tar.tag_configure('line1',background="#F8F8F8")
# tar.tag_configure('line1',background="#FFFFFF")
...
...
@@ -5021,6 +5068,7 @@ class main_app:
界面部分。
也就是UI的设计。
"""
self
.
last_focus
=
None
self
.
window
=
tk
.
Tk
()
#
# 调整清晰度 ############################################
...
...
@@ -5565,6 +5613,7 @@ class main_app:
self
.
tree_lst_folder
.
bind
(
'<Control-v>'
,
exec_tree_file_put_down
)
# 放下,点选文件夹之后仍然可以操作,可以提高用户体验。
self
.
tree
.
bind
(
'<F2>'
,
exec_tree_file_rename
)
# 重命名
self
.
tree
.
bind
(
'<Delete>'
,
exec_tree_file_delete
)
# 重命名
self
.
tree
.
bind
(
"<Motion>"
,
exec_tree_mouse_highlight
)
self
.
tree
.
bind
(
'<Double-Button-1>'
,
exec_tree_file_open
)
self
.
tree
.
bind
(
'<Return>'
,
exec_tree_file_open
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录