Hi,
I just started using web2py a few weeks ago, so I may be missing
something. I have extended appadmin.py so I can export to a csv file
(and then check into svn), and import a csv file (from svn). I am
having no problem writing the csv file, but I cannot seem to re-
populate the database with the info. We don't want to keep the binary
files under revision control so this seems to be our apparent
solution. Before I import the database from the csv file I blow
everything out of the database directory so I can get a clean import.
If I go to the python shell built into the web UI it works as I
expect, it builds the database and imports the data. When I try and
do it from the appadmin controller the database does not get
rebuilt.
Here is my code snippet:
def convert_from_csv_to_database():
import os,shutil
current_directory = os.getcwd()
message = ''
try:
os.chdir(current_directory+"/applications/enabling_tech/
databases")
#Remove everything from the directory except the csv file
shutil.copy2('scidac-overview.csv','../scidac-overview.csv')
databases_path = os.getcwd()
shutil.rmtree(databases_path)
os.mkdir(databases_path)
os.chdir(databases_path)
shutil.copy2('../scidac-overview.csv','scidac-overview.csv')
db.import_from_csv_file(open('scidac-overview.csv','rb'))
message = 'Database imported from csv file scidac-overview.csv
located at: ' + os.getcwd()
except:
message = "Database could not be imported"
os.chdir(current_directory)
return dict(message=message)