Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master #21

Open
wants to merge 95 commits into
base: skywhat
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
872d0e9
1. hash文件名统一成 .synchash
lgxbslgx Mar 11, 2017
a89126a
Merge branch 'master' of github.com:jnudeveloper/sync
lgxbslgx Mar 11, 2017
a4c963a
Merge branch 'skywhat'
skywhat Mar 12, 2017
aaad44f
1.根据最新的“程序流程图_2.pdf”进行了修改,主要改动了proces.run()函数
Darkgel Mar 13, 2017
2b6174f
1.根据流程图定义了需要的函数,大家一起逐步完善这些函数
Mar 14, 2017
32c3639
1.主要修改了hash_algorithm.py,添加了一个计算文件名hash的函数,并在计算
Darkgel Mar 14, 2017
3a55549
fix a comment
Mar 14, 2017
bc9fa8f
完善哈希数组链表这个类
Darkgel Mar 15, 2017
d046182
规范化命名格式
lgxbslgx Mar 18, 2017
8327b4e
声明需要用到的各个函数,以便之后实现
lgxbslgx Mar 18, 2017
38e9209
确定分工
lgxbslgx Mar 19, 2017
bea3ac1
确定需求,重新分工
lgxbslgx Mar 20, 2017
d50d2c8
程序开始时选项变化
lgxbslgx Mar 21, 2017
31bb840
新建__init__文件
lgxbslgx Mar 21, 2017
7434667
添加方法:delete_last_slash(去掉路径的最后的斜杠) 及其测试用例
lgxbslgx Mar 21, 2017
3255fa1
添加方法:delete_last_slash(去掉路径的最后的斜杠) 及其测试用例
lgxbslgx Mar 21, 2017
363aa46
实现绝对路径和相对路径的转换,和对应的测试代码
lgxbslgx Mar 21, 2017
ff2741e
1.完成增量pull,但没有测试,也没有封装
Darkgel Mar 21, 2017
13390f8
Merge remote-tracking branch 'origin/master'
Mar 21, 2017
a05a898
1.完成sync.py中的move_one_file()方法,并给出相应的测试代码
Darkgel Mar 21, 2017
369300f
1.细化文件移动、删除函数的步骤
Darkgel Mar 22, 2017
51a3332
1.在path.py下封装了以下两个函数用于遍历目录,并在test/sync_test.py中给出了测试代码
Darkgel Mar 22, 2017
6a68749
修改process.py下的一些注释
Darkgel Mar 22, 2017
31a44c7
修改绝对路径和相对路径的转换
lgxbslgx Mar 22, 2017
8c31b03
修改绝对路径和相对路径的转换的测试代码
lgxbslgx Mar 22, 2017
7f216c7
序列化和反序列化函数,及其测试代码
lgxbslgx Mar 22, 2017
923d8d1
Merge branch 'master' of github.com:jnudeveloper/sync
lgxbslgx Mar 22, 2017
a4f0df8
Delete path.pyc
lgxbslgx Mar 23, 2017
824b833
Delete process.pyc
lgxbslgx Mar 23, 2017
cafbbea
Delete prompt.pyc
lgxbslgx Mar 23, 2017
96b0d7d
Delete sync.pyc
lgxbslgx Mar 23, 2017
14477d2
1.完善sync.py中与文件操作相关的4个函数,还没测试
Darkgel Mar 23, 2017
49504e7
目录可写可读、是否存在项目、同名检测、空文件夹的函数
lgxbslgx Mar 23, 2017
8f9e177
Merge branch 'master' of github.com:jnudeveloper/sync
lgxbslgx Mar 23, 2017
ca89427
添加测试代码的注释
lgxbslgx Mar 23, 2017
8818fd9
路径复合判断的代码
lgxbslgx Mar 23, 2017
c7c5e5f
修改README_CN文件
lgxbslgx Mar 23, 2017
4b40ea8
1.测试sync.py中与文件操作相关的4个函数
Darkgel Mar 23, 2017
3f26181
列表初始化修改
skywhat Mar 23, 2017
4927d37
Merge remote-tracking branch 'origin/master'
skywhat Mar 23, 2017
ae5e064
获取各种路径
lgxbslgx Mar 23, 2017
30d1863
Merge branch 'master' of github.com:jnudeveloper/sync
lgxbslgx Mar 23, 2017
0af6363
merge
lgxbslgx Mar 23, 2017
d80c6b6
1.在sync.py中封装了函数fully_pull,用于执行全量pull,并给出了相应的测试代码
Darkgel Mar 23, 2017
5387c9d
Merge remote-tracking branch 'origin/master'
Darkgel Mar 23, 2017
9137008
add a tips
Mar 23, 2017
17043da
1.完成process中的流程“全量push”、"初始化本地已有的项目"。至此process中的所有流程都已经完成,但都没有测试
Darkgel Mar 24, 2017
c20ec90
获取路径时,把路径最后的分隔符去掉
lgxbslgx Mar 24, 2017
1787cf1
review主流程的代码,标注存疑点;修改路径校检的代码;删除一些无用代码
lgxbslgx Mar 24, 2017
a64a6f7
格式化代码
lgxbslgx Mar 25, 2017
de47f21
封装初始化U盘的函数
lgxbslgx Mar 25, 2017
d9664e3
封装增量push和增量pull的函数
lgxbslgx Mar 25, 2017
3877337
synchash complete
skywhat Mar 25, 2017
feaf3ce
Merge remote-tracking branch 'origin/master'
skywhat Mar 25, 2017
aa3dfaf
回应国雄有疑问的地方,做相应的修改
Darkgel Mar 25, 2017
293b0f1
根据张刚提到的将 != None 改成 is not None
Darkgel Mar 25, 2017
5dbd81f
重看卫华的代码,回复卫华的信息
lgxbslgx Mar 26, 2017
d6ae7c1
review文件synchash.py的代码,给出建议;格式化代码;
lgxbslgx Mar 26, 2017
f685830
修复2个bug
lgxbslgx Mar 31, 2017
d16e017
添加init_local的测试代码
lgxbslgx Apr 8, 2017
810343a
添加方法init_udisk的测试代码
lgxbslgx Apr 8, 2017
256bf6f
添加方法incrementally_pull的测试代码
lgxbslgx Apr 9, 2017
a18c316
添加方法incrementally_push的测试代码,测试未通过,有待排错
lgxbslgx Apr 9, 2017
a985271
1.添加测试代码测试incrementally_pull和incrementally_pull
Darkgel Apr 10, 2017
4a23244
修复incrementally_push、incrementally_pull、synchash的bug
lgxbslgx Apr 10, 2017
817b0ec
修改回哈希数组长度
lgxbslgx Apr 10, 2017
47a9fcf
修复push的bug
lgxbslgx Apr 14, 2017
cb2aab1
1.添加性能测试目录
Darkgel Apr 17, 2017
60cb44e
添加编写图形界面需要的文件
lgxbslgx Apr 17, 2017
e8999b1
1.练习使用line-profiler
Darkgel Apr 18, 2017
50f3837
性能测试:测试程序运行时间
lgxbslgx Apr 19, 2017
62ef359
修改删除文件的bug,增加注释
lgxbslgx Apr 19, 2017
3f094bf
1.在/profile/src下添加脚本cpu_time0.py,cpu_time1.py,cpu_time0.py用于测试cpu运行时间
Darkgel Apr 20, 2017
db9f90b
内存测试的代码
lgxbslgx Apr 21, 2017
51e4dcb
再次封装fully_push和fully_pull方法
lgxbslgx Apr 22, 2017
0ebfa8c
再次封装性能测试里面的fully_push和fully_pull函数
lgxbslgx Apr 22, 2017
cf71b19
修改测试代码(因为fully_push和fully_pull改变了)
lgxbslgx Apr 22, 2017
649d00b
添加注释、添加__init__.py文件
lgxbslgx Apr 22, 2017
e30dc49
修复synchash.py的方法delete_by_name_hashcode
lgxbslgx Apr 23, 2017
69c2163
把两份代码合成一份
lgxbslgx Apr 23, 2017
8cb23d5
把测试路径统一写在path.py文件中
lgxbslgx Apr 23, 2017
daa4eb8
修改内存测试的代码
lgxbslgx Apr 26, 2017
12ebeb6
GUI 设计代码
skywhat Apr 28, 2017
fca2da1
完善GUI代码
skywhat Apr 28, 2017
e1ffad4
Merge branch 'master' of https://github.com/jnudeveloper/sync
skywhat Apr 28, 2017
695a1ee
图形界面添加路径判断
lgxbslgx Apr 29, 2017
4f47ca4
修复图形界面路径判断的bug
lgxbslgx Apr 29, 2017
b396bdc
GUI完善,大功告成
skywhat Apr 29, 2017
d96b6df
添加GUI菜单功能
skywhat May 3, 2017
b572a9f
fix a bug in test part
skywhat May 5, 2017
fab0c51
完善README文件,删除无用文件
lgxbslgx May 14, 2017
3e1b64a
add a file named setup.py. Now we can convert Python scripts into exe…
skywhat May 15, 2017
b5e1e96
rename the file
skywhat May 15, 2017
759d68f
add a specific description for py2exe
skywhat May 15, 2017
281188a
修改README文件
lgxbslgx Jun 27, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
.idea/
src/*.pyc
35 changes: 35 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[sync]
sync 是一个同步工具,它使用U盘作为中间媒介,实现多个设备之间的数据同步。

[操作系统]
windows
理论上Python跨平台,写的代码可以在linux/unix上执行,但是没有测试过

[IDE]
名称:PyCharm
下载地址:https://www.jetbrains.com/pycharm/
社区版免费,用社区版就可以了

[目录结构]
sync/src 源程序代码、cpu时间测试和内存测试的代码
sync/test 单元测试代码、运行时间测试代码

[安装与运行]
1.安装Python 2.7x运行环境
Python下载地址:https://www.python.org/downloads/
2.添加Python库:wxPython(图形界面)、line_profiler(cpu时间测试)、memory_profiler(内存测试)
pip install wxPython
pip install line_profiler
pip install memory_profiler
3.运行main.py文件(命令行界面)、运行main_win.py文件(图形界面)
4.运行各个测试脚本可以进行相应的测试

[打包为exe程序]
1.添加Python库:py2exe
pip install py2exe
或者下载地址https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/

2.运行src下的文件: setup.py
> python setup.py py2exe
执行该文件,会得到一个build文件夹和一个dist文件夹。
其中,dist文件夹,就是你得到的打包程序
2 changes: 0 additions & 2 deletions README_CN

This file was deleted.

Empty file added __init__.py
Empty file.
8 changes: 0 additions & 8 deletions src/README_CN

This file was deleted.

19 changes: 19 additions & 0 deletions src/README_CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
本文件夹(src)主要是系统源代码,同时还有cpu时间测试和内存测试的代码
因为这两个的测试的代码改到test目录出现一些问题,还无法解决,所以放在了这个目录

各个文件(模块)的功能:
cpu_time0.py cpu_time1.py cpu_time2.py 测试cpu时间,3个脚本的数据显示方式不一样
gui.py 图形界面控件设计
hash_algorithm.py 计算hash值
main.py 命令行界面的主函数、主流程
main_win.py 图形界面的主函数、主流程
memory.py 测试内存
path.py 命令行界面的路径(目录)操作
path_win.py 图形界面的路径(目录)操作
process.py 命令行界面的具体流程
process_win.py 图形界面的具体流程
prompt.py 提示语汇总(有些提示语没有写在这里,直接写在其他文件了,先不管这么多了)
serialize.py 序列化与反序列化
sync.py 同步算法实现
synchash.py hash数组链表(记录文件信息的数据机构)

Empty file added src/__init__.py
Empty file.
158 changes: 158 additions & 0 deletions src/cpu_time0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
# coding=utf-8
# 性能测试:测试程序运行时占用的cpu时间
# 使用方法:在本目录下执行 "kernprof -l -v cpu_time0.py"

import os
import shutil
import path
import sync


def tmp1():
test_local_path = path.test_local_path_root + os.path.sep + path.test_relative_path
test_udisk_path = path.test_udisk_path_root + os.path.sep + path.test_relative_path
test_remote_path = path.test_remote_path_root + os.path.sep + path.test_relative_path
if os.path.exists(test_local_path + os.path.sep + ".sync"):
shutil.rmtree(test_local_path + os.path.sep + ".sync")
if os.path.exists(test_local_path + os.path.sep + "test"):
shutil.rmtree(test_local_path + os.path.sep + "test")
if os.path.exists(test_udisk_path):
shutil.rmtree(test_udisk_path)
if os.path.exists(test_remote_path):
shutil.rmtree(test_remote_path)
os.mkdir(test_udisk_path)
os.mkdir(test_remote_path)

# 1.本地新增测试需要的文件夹、文件
os.mkdir(test_local_path + os.path.sep + "test")
os.mkdir(test_local_path + os.path.sep + "test" + os.path.sep + "test2")
os.mkdir(test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3")
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "update_local_test_1.txt", "w")
file_temp.write("update_local_test_1.txt")
file_temp.close()
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "delete_local_test_1.txt", "w")
file_temp.write("delete_local_test_1.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "update_local_test_2.txt", "w")
file_temp.write("update_local_test_2.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "delete_local_test_2.txt", "w")
file_temp.write("delete_local_test_2.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "update_local_test_3.txt",
"w")
file_temp.write("update_local_test_3.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "delete_local_test_3.txt",
"w")
file_temp.write("delete_local_test_3.txt")
file_temp.close()
path.local_path = test_local_path
path.udisk_path = test_udisk_path


def tmp2():
test_local_path = path.test_local_path_root + os.path.sep + path.test_relative_path
test_udisk_path = path.test_udisk_path_root + os.path.sep + path.test_relative_path
test_remote_path = path.test_remote_path_root + os.path.sep + path.test_relative_path
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "add_local_test_1.txt", "w")
file_temp.write("add_local_test_1.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "add_local_test_2.txt", "w")
file_temp.write("add_local_test_2.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "add_local_test_3.txt",
"w")
file_temp.write("add_local_test_3.txt")
file_temp.close()
# 5.本地修改文件
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "update_local_test_1.txt", "w")
file_temp.write("update_local_test_1.txt local_update")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "update_local_test_2.txt", "w")
file_temp.write("update_local_test_2.txt local_update")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "update_local_test_3.txt",
"w")
file_temp.write("update_local_test_3.txt local_update")
file_temp.close()
# 6.本地删除文件
os.remove(test_local_path + os.path.sep + "test" + os.path.sep + "delete_local_test_1.txt")
os.remove(test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "delete_local_test_2.txt")
os.remove(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "delete_local_test_3.txt")
# 7.远程新增文件
file_temp = file(test_remote_path + os.path.sep + "test" + os.path.sep + "add_remote_test_1.txt", "w")
file_temp.write("add_remote_test_1.txt")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "add_remote_test_2.txt", "w")
file_temp.write("add_remote_test_2.txt")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "add_remote_test_3.txt",
"w")
file_temp.write("add_remote_test_3.txt")
file_temp.close()
# 8.远程修改文件
file_temp = file(test_remote_path + os.path.sep + "test" + os.path.sep + "update_local_test_1.txt", "w")
file_temp.write("update_local_test_1.txt remote_update")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "update_local_test_2.txt", "w")
file_temp.write("update_local_test_2.txt remote_update")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "update_local_test_3.txt",
"w")
file_temp.write("update_local_test_3.txt remote_update")
file_temp.close()
# 9.远程删除文件
os.remove(test_remote_path + os.path.sep + "test" + os.path.sep + "delete_local_test_1.txt")
os.remove(test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "delete_local_test_2.txt")
os.remove(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "delete_local_test_3.txt")


@profile
def test_cpu_time():
test_local_path = path.test_local_path_root + os.path.sep + path.test_relative_path
test_udisk_path = path.test_udisk_path_root + os.path.sep + path.test_relative_path
test_remote_path = path.test_remote_path_root + os.path.sep + path.test_relative_path
tmp1()
# 2.初始化
sync.init_local()
sync.init_udisk()
# 3.1.全量push
sync.fully_push(path.local_path, path.udisk_path)
# 3.2.全量pull
path.local_path = test_remote_path
sync.fully_pull(path.udisk_path, path.local_path)
# 4.本地新增文件
tmp2()

# 10.本地增量push、远程增量pull
path.local_path = test_local_path
path.udisk_path = test_udisk_path
sync.incrementally_push()
path.local_path = test_remote_path
sync.incrementally_pull()


if __name__ == "__main__":
test_cpu_time()







146 changes: 146 additions & 0 deletions src/cpu_time1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# coding=utf-8
# 性能测试:测试程序运行时占用的cpu时间
# 使用方法:在本目录下执行 "kernprof -l -v cpu_time1.py"

import os
import shutil
import path
import sync


# 注意:这里会正确执行不报错
@profile
def test_cpu_time():
test_local_path = path.test_local_path_root + os.path.sep + path.test_relative_path
test_udisk_path = path.test_udisk_path_root + os.path.sep + path.test_relative_path
test_remote_path = path.test_remote_path_root + os.path.sep + path.test_relative_path
if os.path.exists(test_local_path + os.path.sep + ".sync"):
shutil.rmtree(test_local_path + os.path.sep + ".sync")
if os.path.exists(test_local_path + os.path.sep + "test"):
shutil.rmtree(test_local_path + os.path.sep + "test")
if os.path.exists(test_udisk_path):
shutil.rmtree(test_udisk_path)
if os.path.exists(test_remote_path):
shutil.rmtree(test_remote_path)
os.mkdir(test_udisk_path)
os.mkdir(test_remote_path)

# 1.本地新增测试需要的文件夹、文件
os.mkdir(test_local_path + os.path.sep + "test")
os.mkdir(test_local_path + os.path.sep + "test" + os.path.sep + "test2")
os.mkdir(test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3")
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "update_local_test_1.txt", "w")
file_temp.write("update_local_test_1.txt")
file_temp.close()
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "delete_local_test_1.txt", "w")
file_temp.write("delete_local_test_1.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "update_local_test_2.txt", "w")
file_temp.write("update_local_test_2.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "delete_local_test_2.txt", "w")
file_temp.write("delete_local_test_2.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "update_local_test_3.txt",
"w")
file_temp.write("update_local_test_3.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "delete_local_test_3.txt",
"w")
file_temp.write("delete_local_test_3.txt")
file_temp.close()

path.local_path = test_local_path
path.udisk_path = test_udisk_path
# 2.初始化
sync.init_local()
sync.init_udisk()
# 3.1.全量push
sync.fully_push(path.local_path, path.udisk_path)
# 3.2.全量pull
path.local_path = test_remote_path
sync.fully_pull(path.udisk_path, path.local_path)
# 4.本地新增文件
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "add_local_test_1.txt", "w")
file_temp.write("add_local_test_1.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "add_local_test_2.txt", "w")
file_temp.write("add_local_test_2.txt")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "add_local_test_3.txt",
"w")
file_temp.write("add_local_test_3.txt")
file_temp.close()
# 5.本地修改文件
file_temp = file(test_local_path + os.path.sep + "test" + os.path.sep + "update_local_test_1.txt", "w")
file_temp.write("update_local_test_1.txt local_update")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "update_local_test_2.txt", "w")
file_temp.write("update_local_test_2.txt local_update")
file_temp.close()
file_temp = file(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "update_local_test_3.txt",
"w")
file_temp.write("update_local_test_3.txt local_update")
file_temp.close()
# 6.本地删除文件
os.remove(test_local_path + os.path.sep + "test" + os.path.sep + "delete_local_test_1.txt")
os.remove(test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "delete_local_test_2.txt")
os.remove(
test_local_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "delete_local_test_3.txt")
# 7.远程新增文件
file_temp = file(test_remote_path + os.path.sep + "test" + os.path.sep + "add_remote_test_1.txt", "w")
file_temp.write("add_remote_test_1.txt")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "add_remote_test_2.txt", "w")
file_temp.write("add_remote_test_2.txt")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "add_remote_test_3.txt",
"w")
file_temp.write("add_remote_test_3.txt")
file_temp.close()
# 8.远程修改文件
file_temp = file(test_remote_path + os.path.sep + "test" + os.path.sep + "update_local_test_1.txt", "w")
file_temp.write("update_local_test_1.txt remote_update")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "update_local_test_2.txt", "w")
file_temp.write("update_local_test_2.txt remote_update")
file_temp.close()
file_temp = file(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "update_local_test_3.txt",
"w")
file_temp.write("update_local_test_3.txt remote_update")
file_temp.close()
# 9.远程删除文件
os.remove(test_remote_path + os.path.sep + "test" + os.path.sep + "delete_local_test_1.txt")
os.remove(test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "delete_local_test_2.txt")
os.remove(
test_remote_path + os.path.sep + "test" + os.path.sep + "test2" + os.path.sep + "test3" + os.path.sep + "delete_local_test_3.txt")
# 10.本地增量push、远程增量pull
path.local_path = test_local_path
path.udisk_path = test_udisk_path
sync.incrementally_push()
path.local_path = test_remote_path
sync.incrementally_pull()


if __name__ == "__main__":
test_cpu_time()








Loading