Пример #1
0
	def backup(self):
		'''(BTool) -> NoneType
			saves the entire library to pickle
		'''
		#initialize connection
		zot = zotero.Zotero(self._userData['user_id'],
							self._userData['user_type'],
							self._userData['api_key'])

		#get the data to backup and name the save file
		#library_id + current (24 hour) time to allow for easy backing up
		data = zot.items()
		version = self._userData["user_id"] + str(data[-1]["version"])
		p = Pickler(version)

		#save the data and update savelog
		p.save(data)
		self.update_savelog("add", version)
Пример #2
0
	def update_savelog(self, mode, item):
		'''(BTool, string, string)-> NoneType
			updates the savelog, adds item if mode = 'add'
			and removes item if mode = 'remove'.
			*** should only be used my backup() and restore() methods in this 
			class to ensure save corruption doesn't occur. ***
		'''
		p = Pickler("savelog")

		try: 
			#add/remove item from the list of items
			data = p.load()
			if mode == "add":
				data.append(item)
			else:
				data.remove(item)
			p.save(data)
		except:
			#in this case there is no savelog, so make one containing item
			data = []
			data.append(item)
			p.save(data) 
Пример #3
0
	def backup_library(self): #untested
		''' backup entire library, this overwrites any previous backup'''
		#initialize a pickle and save @lib_backup.p
		picklesave = 'lib_backup'
		pickle = Pickler(picklesave)
		pickle.save(self._zot.items())