def edit_title(request, ttype, taction, tid): """ Editar o añadir un Title """ if not model.TitleType.objects.filter(name=ttype): return HttpResponseBadRequest() form_set = mff(model.TitleVersion) if taction == 'add': action_name = 'Añadiendo' form = form_set(queryset=model.TitleVersion.objects.none()) elif model.Title.objects.filter(id=tid): # SIN TERMINAR title = model.Title.objects.get(id=tid) titleversion = model.TitleVersion.objects.get() form = form_set(queryset=model.Title.objects.none()) return response('edit_title.html', request, {'form': form, 'title': '%s release - %s' % (action_name, DATA['sitename']), })
def edit_title(request, ttype, taction, tid): """ Editar o añadir un Title """ if not model.TitleType.objects.filter(name=ttype): return HttpResponseBadRequest() form_set = mff(model.TitleVersion) if taction == 'add': action_name = 'Añadiendo' form = form_set(queryset=model.TitleVersion.objects.none()) elif model.Title.objects.filter(id=tid): # SIN TERMINAR title = model.Title.objects.get(id=tid) titleversion = model.TitleVersion.objects.get() form = form_set(queryset=model.Title.objects.none()) return response( 'edit_title.html', request, { 'form': form, 'title': '%s release - %s' % (action_name, DATA['sitename']), })
def edit_release(request, ttype, taction, tid): """ Formulario para Editar o añadir una Release. Véase las funciones "ajax_add_packages" y "ajax_search_title", las cuales se encuentran estrechamente relacionadas (se realizan peticiones mediante Ajax). """ form_set = mff(model.Release, form=model.ReleaseForm) if request.method == "POST" and taction == 'add': f = form_set(request.POST, queryset=model.Release.objects.none()) # El usuario se pone manualmente en el modo en desarrollo f.data['form-0-user'] = '******' f.user = model.User.objects.get(id=1) files = {} pkgs = {} chapters = {} for key, value in request.POST.items(): key = key.split('_') if key[0] == 'file': dct = files elif key[0] == 'pkg': dct = pkgs else: continue if not int(key[1]) in dct.keys(): dct[int(key[1])] = {} dct[int(key[1])][key[2]] = value print(files) print(pkgs) print(f.errors) f.save() if request.POST['form-0-download_type'] == 'dd': for file in files.values(): if not file['status'] == 'True': continue new_file = model.DirectDownload() new_file.url = file['url'] new_file.filename = file['name'] new_file.size = filesmanager.get_size(file['size2']) new_file.server = model.DirectDownloadServer.objects.get( name=file['server'].title(), ) new_file.online = True #new_file.checksum = # Para uso posteriormente new_file.part = file['part'] new_file.save() if not file['chapter'] in chapters.keys(): chapters[file['chapter']] = [] chapters[file['chapter']].append(new_file) for pkg in pkgs.values(): new_pkg = model.DirectDownloadPackage() new_pkg.name = pkg['name'] total_size = 0 for file in chapters[pkg['chapter']]: new_pkg.files.add(file.id) total_size += file.size new_pkg.size = total_pkg new_pkg.release = f else: if not model.TitleType.objects.filter(name=ttype): return HttpResponseBadRequest() if taction == 'add': action_name = 'Añadiendo' form = form_set(queryset=model.Release.objects.none()) elif model.Release.objects.filter(id=tid): # SIN TERMINAR title = model.Release.objects.get(id=tid) form = form_set(queryset=model.Release.objects.none()) return response('edit_release.html', request, {'form': form, 'title': '%s release - %s' % (action_name, DATA['sitename']), 'last_pkg': 0, 'arg0': ttype, 'arg1': taction, 'arg2': tid, })
def edit_release(request, ttype, taction, tid): """ Formulario para Editar o añadir una Release. Véase las funciones "ajax_add_packages" y "ajax_search_title", las cuales se encuentran estrechamente relacionadas (se realizan peticiones mediante Ajax). """ form_set = mff(model.Release, form=model.ReleaseForm) if request.method == "POST" and taction == 'add': f = form_set(request.POST, queryset=model.Release.objects.none()) # El usuario se pone manualmente en el modo en desarrollo f.data['form-0-user'] = '******' f.user = model.User.objects.get(id=1) files = {} pkgs = {} chapters = {} for key, value in request.POST.items(): key = key.split('_') if key[0] == 'file': dct = files elif key[0] == 'pkg': dct = pkgs else: continue if not int(key[1]) in dct.keys(): dct[int(key[1])] = {} dct[int(key[1])][key[2]] = value print(files) print(pkgs) print(f.errors) f.save() if request.POST['form-0-download_type'] == 'dd': for file in files.values(): if not file['status'] == 'True': continue new_file = model.DirectDownload() new_file.url = file['url'] new_file.filename = file['name'] new_file.size = filesmanager.get_size(file['size2']) new_file.server = model.DirectDownloadServer.objects.get( name=file['server'].title(), ) new_file.online = True #new_file.checksum = # Para uso posteriormente new_file.part = file['part'] new_file.save() if not file['chapter'] in chapters.keys(): chapters[file['chapter']] = [] chapters[file['chapter']].append(new_file) for pkg in pkgs.values(): new_pkg = model.DirectDownloadPackage() new_pkg.name = pkg['name'] total_size = 0 for file in chapters[pkg['chapter']]: new_pkg.files.add(file.id) total_size += file.size new_pkg.size = total_pkg new_pkg.release = f else: if not model.TitleType.objects.filter(name=ttype): return HttpResponseBadRequest() if taction == 'add': action_name = 'Añadiendo' form = form_set(queryset=model.Release.objects.none()) elif model.Release.objects.filter(id=tid): # SIN TERMINAR title = model.Release.objects.get(id=tid) form = form_set(queryset=model.Release.objects.none()) return response( 'edit_release.html', request, { 'form': form, 'title': '%s release - %s' % (action_name, DATA['sitename']), 'last_pkg': 0, 'arg0': ttype, 'arg1': taction, 'arg2': tid, })