> Traceback (most recent call last):
> File "/home/pofuk/MzMFIleShare/sharePanel.py", line 130, in share
> self.scanDirsAndFiles(dirPath)
> File "/home/pofuk/MzMFIleShare/sharePanel.py", line 158, in
> scanDirsAndFiles
> sql.insertData.insert("files", data)
> TypeError: unbound method insert() must be called with insertData
> instance as first argument (got str instance instead)
>
> share.py
<snip>
> def scanDirsAndFiles(self, dirPath):
> for item in os.listdir(dirPath):
> if os.path.isdir(os.path.join(dirPath, item)):
> scanDirsAndFiles(os.path.join(dirPath, item))
> if os.path.isfile(os.path.join(dirPath, item)):
> user_name = login.getUserName()
> fileName = item
> fileSize =
> os.path.getsize(os.path.join(dirPath, item))
> filePathLocal = os.path.join(dirPath, item)
> filePathFTP = ""
> currentLocation = "Local"
> FTP_valid_time = 7
> uploaded = ""
> lastModified = "NOW()"
> lastVerified = "NOW()"
> fileType = "file"
> fileCategory = "Ostalo"
>
> data = [fileName, fileSize, filePathLocal,
> filePathFTP,
> currentLocation, FTP_valid_time, uploaded, lastModified, lastVerified,
> fileType, fileCategory]
>
> sql.insertData.insert("files", data)
>
<snip>
> class insertData:
> def insert(self, dataTable, data):
> conn = self.openConnection.openConnection()
> cursor = conn.cursor()
> sql ="INSERT INTO "+dataTable+" (user_name, file_name,
> file_size,
> file_path_local, file_path_FTP, curent_location, FTP_valid_time,
> uploaded, last_modified, last_verified, file_type, file_category) VLAUES
> "+data
> cursor.execute(sql)
> conn.Close()
It doesn't look like you are instantiating the insertData class. You
would need to do something like:
# untested
foo = insertData()
foo.insert("files", data)
But I agree with Chris. You really do need to go through a tutorial on
using classes and following Python naming conventions. Dive Into
Python and some of the other online resources are very helpful.
This is something that I have trouble with myself since wxPython uses
CamelCase for classes and methods/functions and and most
recommendations for plain Python seem to only want CamelCase for
classes and something like myFunct or myMethod for the other objects.
Mike
--
http://mail.python.org/mailman/listinfo/python-list