def addFolder(params): logging.info('addFolder(): Start') folder = Folder(parent=genFolderParentKey( )) #Create a datastore entity with parent as the key generated above #assign form data to entity properties if 'name' in params: folder.name = params['name'] else: folder.name = 'Folder' if 'icon' in params: folder.icon = params['icon'] else: folder.icon = '/images/folder-icon.png' if 'color' in params: folder.color = params['color'] else: folder.color = 'Default' folder.date_c = datetime.datetime.now() folder.date_m = datetime.datetime.now() folder.n_items = 0 #this value needs to be calculated and populated. if 'view' in params: folder.view = params['view'] else: folder.view = 'Default' if 'parent_folder_key' in params: folder.parent_folder = params['parent_folder_key'] folder.path = params['parent_folder_key'].get( ).path + folder.name + '/' #calculate path from parent folder and save - parent folder path + my name #increment parent folder's items count and save. Do it only if current folder is not root, params['parent_folder_key'].get().n_items += 1 params['parent_folder_key'].get().put() #TODO if no parent folder mentioned, set parent as links logging.info('Adding Folder - ' + folder.name) new_folder_key = folder.put() #save the folder and capture the key return new_folder_key # return the folder key
def compile_java(file_id): #first traslate traslate_java(file_id) file = File.objects.get(id=file_id) folder = file.folder user = folder.user galatea_code = GALATEA + "galatea.jar " code = "javac -cp "+ galatea_code + folder.path + "/*.java" #print code value = subprocess.check_output([code], shell=True) #print value #get all the file in this folder for root, dirs, files in os.walk(folder.path): root_folder = Folder.objects.get(path=root, name = os.path.basename(root)) for dir in dirs: folders = Folder.objects.filter(father=root_folder.id) esta = False for folder in folders: if folder.name == dir: esta = True if not esta: folder = Folder() folder.name = dir folder.path = root_folder.path + "/" + dir folder.user = user folder.father = root_folder.id folder.active = True folder.save() #print dirs for file in files: files_folder = File.objects.filter(folder = root_folder.id) esta = False for f in files_folder: if f.name == file: esta = True if not esta: if (os.path.splitext(file)[1] != ".class"): f = File() f.name = file f.folder = root_folder f.active = True f.save() return value
def create_root_folder(user_id): root = MEDIA_ROOT user = User.objects.get(id=user_id) directory = root +"/"+ user.username print directory if not os.path.exists(directory): try: folder = Folder() folder.name = user.username folder.path = directory folder.user = user folder.save() os.makedirs(directory) except Exception, e: return False else: return True
def addRootFolder(): logging.info('addRootFolder(): Start') folder = Folder(parent=genFolderParentKey( )) #Create a datastore entity with parent as the key generated above #No need of param checks as the call is guaranteed to be internal. folder.name = "root" folder.icon = None folder.color = None folder.date_c = datetime.datetime.now() folder.date_m = datetime.datetime.now() folder.n_items = 0 #this value needs to be calculated and populated. folder.view = None folder.path = '/' folder.parent_folder = None return folder.put()
def create_new_folder(user_id,father_id,name): root = MEDIA_ROOT user = User.objects.get(id=user_id) father = Folder.objects.get(id=father_id) directory = father.path +"/"+ name id_folder = 0 print directory if not os.path.exists(directory): try: folder = Folder() folder.name = name folder.path = directory folder.user = user folder.father = father.id folder.active = True folder.save() id_folder = folder.id os.makedirs(directory) except Exception, e: return id_folder else: return id_folder