|  | @@ -6,7 +6,6 @@ comments are stored in an SQLite3 database
 | 
	
		
			
				|  |  |  	default ~/.dirnotes.db
 | 
	
		
			
				|  |  |  where possible, comments are duplicated in 
 | 
	
		
			
				|  |  |  	xattr user.xdg.comment
 | 
	
		
			
				|  |  | -	depends on python-pyxattr
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	some file systems don't allow xattr, and even linux
 | 
	
		
			
				|  |  |  	doesn't allow xattr on symlinks, so the database is
 | 
	
	
		
			
				|  | @@ -48,7 +47,7 @@ import sys,os,argparse,stat
 | 
	
		
			
				|  |  |  from PyQt5.QtGui import *
 | 
	
		
			
				|  |  |  from PyQt5.QtWidgets import *
 | 
	
		
			
				|  |  |  from PyQt5.QtCore import Qt
 | 
	
		
			
				|  |  | -import xattr, sqlite3, time
 | 
	
		
			
				|  |  | +import sqlite3, time
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  VERSION = "0.2"
 | 
	
		
			
				|  |  |  COMMENT_KEY = "user.xdg.comment"
 | 
	
	
		
			
				|  | @@ -159,7 +158,7 @@ class FileObj():
 | 
	
		
			
				|  |  |  			self.size = s.st_size
 | 
	
		
			
				|  |  |  		self.xattrComment = ''
 | 
	
		
			
				|  |  |  		try:
 | 
	
		
			
				|  |  | -			self.xattrComment = xattr.get(fileName,COMMENT_KEY,nofollow=True).decode()
 | 
	
		
			
				|  |  | +			self.xattrComment = os.getxattr(fileName,COMMENT_KEY,follow_symlinks=False).decode()
 | 
	
		
			
				|  |  |  		except Exception as e:
 | 
	
		
			
				|  |  |  			#print("comment read on %s failed, execption %s" % (self.fileName,e)) 
 | 
	
		
			
				|  |  |  			pass
 | 
	
	
		
			
				|  | @@ -174,7 +173,7 @@ class FileObj():
 | 
	
		
			
				|  |  |  	def setXattrComment(self,newComment):
 | 
	
		
			
				|  |  |  		self.xattrComment = newComment
 | 
	
		
			
				|  |  |  		try:
 | 
	
		
			
				|  |  | -			xattr.set(self.fileName,COMMENT_KEY,self.xattrComment,nofollow=True)
 | 
	
		
			
				|  |  | +			os.setxattr(self.fileName,COMMENT_KEY,bytes(self.xattrComment,'utf8'),follow_symlinks=False)
 | 
	
		
			
				|  |  |  			return True
 | 
	
		
			
				|  |  |  		# we need to move these cases out to a handler 
 | 
	
		
			
				|  |  |  		except Exception as e:
 | 
	
	
		
			
				|  | @@ -498,6 +497,13 @@ user.xdg.publisher
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ''' TODO: also need a way to display-&-restore comments from the database '''
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +''' TODO: implement startup -s and -m for size and date '''
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +''' TODO: add an icon for the app '''
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +''' TODO: create 'show comment history' popup '''
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +''' TODO: add dual-pane for file-move, file-copy '''
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  ''' commandline xattr
 | 
	
		
			
				|  |  |  getfattr -h (don't follow symlink) -d (dump all properties)
 |