def __init__(self, root): self.return_value = "" self.root = root self.status = tk.StringVar() self.status.set("Building up connection...") try: self.client = seafileapi.connect(server=SERVER, username=USERNAME, password=PASSWORD) except: answer = messagebox.askretrycancel( "Connection Error!", "The internet-connection could not be established!" + " Please check your connection and hit retry. Or upload the annotation-results" + "by hand. They are in the .tmp Folder where the .exe file is") if answer is None: exit(1) elif answer == "retry": self.__init__(root) return self.repo_list = [rp.name for rp in self.client.repos.list_repos()] self.repo = self.client.repos.get_repo(REPOSITORY) self.current_folders = self.repo.list_directories('/') self.status = tk.StringVar() self.status.set("Connected to server...") self.label = tk.Label(self.root, textvariable=self.status) self.label.pack()
def list_libraries(fstoken): syncserver = fstoken.syncserver if syncserver.backend_type == syncserver.TP_SEAFILE: client = seafileapi.connect(syncserver.url, fstoken.user.username, fstoken.token, None) for r in client.repos.list_repos(): yield r else: raise NotImplementedError("Unknown version control system type: %s" % fstoken.type)
def _create_client(): return seafileapi.connect(SERVER, USER, PASSWORD)
def client(): return seafileapi.connect(SERVER, USER, PASSWORD)
keep_days = int(sys.argv[1]) print('Day to keep: %s' % keep_days) freed_size = 0 my_login = '******' my_password = '******' time_to_eternity = keep_days * 24 * 60 * 60 def list_dir(repo, path, indent=0): global freed_size seafdir = repo.get_dir(path) lst = seafdir.ls(force_refresh=True) for dirent in lst: file_age = (int(time.time()) - dirent.mtime) if file_age > time_to_eternity and not dirent.isdir: print(" " * indent, dirent.name, dirent.size, 'age', file_age / 60 / 60 / 24) freed_size += dirent.size if dirent.isdir: list_dir(repo, dirent.path, indent + 1) if dirent.num_entries == 0: print('-- Empty dir: ', dirent.path) client = seafileapi.connect('http://127.0.0.1:80', my_login, my_password) repo_list = client.repos.list_repos() for repo in repo_list: list_dir(repo, '/') print('Total freed size: %d' % freed_size)
def __init__(self, root): self.client = seafileapi.connect(server=SERVER, username=USERNAME, password=PASSWORD) self.root = root self.success = False self.file_path = "" self.file_ending = "" self.current_files = None # self.root.geometry("600x400") self.root.columnconfigure(0, weight=1) self.root.rowconfigure(0, weight=1) self.current_dir_path = tk.StringVar() self.current_dir_path.set('') self.infotext = tk.StringVar() self.infotext.set( "Double-click on directories or files, latter to download it") self.files_fr = tk.Frame(root) self.files_fr.pack(expand=True, fill='both') self.files_navigation_fr = tk.Frame(self.files_fr) # [self.files_navigation_fr.grid_columnconfigure(i, weight=1)for i in range(3)] img = Image.open(os.path.join(os.getcwd(), 'icons', 'back.png')) img = resize_img(img, [30, 30]) self.img = ImageTk.PhotoImage(img) self.dir_up_bt = tk.Button(self.files_navigation_fr, image=self.img, command=self.back) # self.dir_up_bt.grid(column=0, row=0, sticky='W') self.dir_up_bt.pack(side='left') self.current_directory_lb = tk.Label( self.files_navigation_fr, textvariable=self.current_dir_path, bg='white') # self.current_directory_lb.grid(row=0, column=1, sticky='WE') self.current_directory_lb.pack(side='left', expand=True) img = Image.open(os.path.join(os.getcwd(), 'icons', 'info.png')) img = resize_img(img, [30, 30]) self.info_img = ImageTk.PhotoImage(img) self.info_bt = tk.Button(self.files_navigation_fr, image=self.info_img, command=self.show_info) # self.info_bt.grid(row=0, column=2, sticky='E') self.info_bt.pack(side='right') self.files_navigation_fr.pack(fill='x', side='top') self.directory_fr = tk.LabelFrame(self.files_fr, text='DIRECTORIES') self.directory_fr.pack(expand=True, fill='both', side='left') self.directory_fr.grid_columnconfigure(0, weight=1) self.directory_fr.grid_rowconfigure(0, weight=1) self.scrollbar_dirs = tk.Scrollbar(self.directory_fr, orient='vertical') self.directory_listbox = tk.Listbox( self.directory_fr, selectmode='single', yscrollcommand=self.scrollbar_dirs.set) self.directory_listbox.bind('<Double-Button-1>', self.__double_click_dirs_listbox) self.directory_listbox.grid(column=0, row=0, sticky='NSEW') self.scrollbar_dirs.config(command=self.directory_listbox.yview) self.scrollbar_dirs.grid(column=1, row=0, sticky='NS') self.files_in_directory_fr = tk.LabelFrame(self.files_fr, text="FILES") self.files_in_directory_fr.pack(expand=True, fill='both', side='right') self.files_in_directory_fr.grid_columnconfigure(0, weight=1) self.files_in_directory_fr.grid_rowconfigure(0, weight=1) self.scrollbar_files = tk.Scrollbar(self.files_in_directory_fr, orient='vertical') self.files_listbox = tk.Listbox( self.files_in_directory_fr, selectmode='single', yscrollcommand=self.scrollbar_files.set, setgrid=2) self.scrollbar_files.config(command=self.files_listbox.yview) self.files_listbox.bind('<Double-Button-1>', self.__double_click_files_listbox) self.files_listbox.grid(column=0, row=0, sticky='NSEW') self.scrollbar_files.grid(column=1, row=0, sticky='NSEW') self.repo_list = [rp.name for rp in self.client.repos.list_repos()] self.repo = self.client.repos.get_repo(REPOSITORY) self.current_folders = self.repo.list_directories('/').entries self.current_dir_path.set('/') self.update_listboxes()
def get_webapi_client(): apiclient = seafileapi.connect('http://127.0.0.1:8000', USER, PASSWORD) return apiclient