def exportePosts(request): tableauDeLignes = [] tableauDeLignes.append( "Cette page est vouée à permettre l'export des posts.") monFichier = Fichier("posts_exportes.txt", True) mesPosts = Post.objects.all() nbPosts = Post.objects.count() for numPost in range(nbPosts): monPost = mesPosts[numPost] monTitre = monPost.title monFichier.ecritUneLigne(monTitre) tableauDeLignes.append(monTitre) monTexte = monPost.text monFichier.ecritUneLigne(monTexte) tableauDeLignes.append(monTexte) if numPost < nbPosts - 1: monFichier.ecritUneLigne("") tableauDeLignes.append("") monFichier.close() tableauDeLignes.append( "En principe, si vous lisez ça, c'est que l'export a eu lieu.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({'tabDeLignes': tableauDeLignes}) output = template.render(context) return HttpResponse(output)
def importePhotos(request): # C'est volontairement que cette fonction n'utilise pas de template, pour # ne pas oublier totalement comment on peut s'y prendre. pageEntiere = "" pageEntiere += "<html>\n" pageEntiere += "<body>\n" pageEntiere += "<p>Ceci est voué à remplir la table des photos à partir d'un fichier CSV.</p>\n" monFichier = Fichier("portes_classees.csv", False) while monFichier.index < monFichier.longueur: ligneLue = monFichier.litUneLigne() ligneAEcrire = "<p>%s</p>" % (ligneLue) pageEntiere += ligneAEcrire mesBazars = ligneLue.split(',') monNomAbrege = vireGuill(mesBazars[0]) maCategEnClair = vireGuill(mesBazars[1]) maCategEnVrai = Categorie.objects.get(slug=maCategEnClair) monPathEtNom = vireGuill(mesBazars[2]) ligneAEcrire = "<p>[%s]</p>" % (maCategEnClair) pageEntiere += ligneAEcrire # Je neutralise ce qui suit parce que ca a marche et que ce n'est # pas voue a etre utilise deux fois. A noter que certes ca a # marche, mais que ca a aussi considerablement ramé. # Photo.objects.create(nomComplet=monPathEtNom, nomAbrege=monNomAbrege, categorie=maCategEnVrai) monFichier.close() pageEntiere += "</body>\n" pageEntiere += "</html>\n" return HttpResponse(pageEntiere)
def importeElements(request): tableauDeLignes = [] tableauDeLignes.append( "Cette page est vouée à permettre l'importation des éléments de dialogue." ) monFichier = Fichier("elements_dialogue.csv", False) while monFichier.index < monFichier.longueur: ligneLue = monFichier.litUneLigne() tableauDeLignes.append(ligneLue) mesBazars = ligneLue.split(',') monNom = vireGuill(mesBazars[0]) monParam1 = vireGuill(mesBazars[1]) monParam2 = vireGuill(mesBazars[2]) monParam3 = vireGuill(mesBazars[3]) tableauDeLignes.append("[%s] - [%s], [%s], [%s]" % (monNom, monParam1, monParam2, monParam3)) # Il m'est arrive de neutraliser la ligne suivante pour éviter les # fausses manoeuvres, mais on en a quand même besoin ElementDialogue.objects.create(nom=monNom, param1=monParam1, param2=monParam2, param3=monParam3) monFichier.close() tableauDeLignes.append( "En principe, si vous lisez ça, c'est que l'importation a eu lieu.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({'tabDeLignes': tableauDeLignes}) output = template.render(context) return HttpResponse(output)
def analyseTunnel (request): nomFichTunnel = "resultat_longtun2.txt" numLigneLue = 0 fichALire = Fichier(nomFichTunnel, 0) chouBlanc = True # Par defaut nbCell = 0 graine = "" mesTunnels = [] while fichALire.index < fichALire.longueur: ligneLue = fichALire.litUneLigne() numLigneLue += 1 if numLigneLue == 1: nbCell = analyseNbCell(ligneLue) elif numLigneLue == 2: graine = analyseGraine(ligneLue) else: if (len(ligneLue) > 10) and (ligneLue[0:6] == "Tunnel"): chouBlanc = False monTunnelNormalise = analyseTunnelMoteur(ligneLue) mesTunnels.append(monTunnelNormalise) fichALire.close() print("Le nombre de cellules est de %d." % (nbCell)) print("La graine est [%s]." % (graine)) nomEntreeDeBase = fabriqueTempsSyntaxeUrl() identifiantSerpicon = "%d %s" % (nbCell, graine) nomServeur = "alwaysdata" if chouBlanc: alimenteBaseDeDonnees(nomEntreeDeBase, identifiantSerpicon, "Chou blanc !", nomServeur) else: for numTunnel in range(len(mesTunnels)): monTunnel = mesTunnels[numTunnel] maLongueur = monTunnel.longueur maGeneration = monTunnel.generation print("Tunnel de %s a la generation %s" % \ (separateurMille(maLongueur, ' '), separateurMille(maGeneration, ' '))) nomEntreeDeBase = fabriqueTempsSyntaxeUrl() nomEntree = nomEntreeDeBase + "__" + separateurMille(maLongueur, '_') descriptifTunnel = separateurMille(maLongueur, ' ') + " en " \ + separateurMille(maGeneration, ' ') alimenteBaseDeDonnees(nomEntree, identifiantSerpicon, descriptifTunnel, nomServeur) if numTunnel < len(mesTunnels) - 1: attend(5.0) # time.sleep(2.0) # A tout hasard, pour ne pas venir trop vite apres les requetes # d'analyse_tunnel.py # lanceSinodoju () # On va laisser courteline s'occuper de relancer amarelia tableauDeLignes = [] tableauDeLignes.append("Cette page est la page de l'analyse des tunnels.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({ 'tabDeLignes': tableauDeLignes }) output = template.render(context) return HttpResponse(output)
def echoPath(request): blabla = "" system("echo $PATH > deleatur.txt") monFichier = Fichier("deleatur.txt", False) while monFichier.index < monFichier.longueur: ligneLue = monFichier.litUneLigne() ligneAEcrire = "<p>%s</p>\n" % (ligneLue) blabla += ligneAEcrire monFichier.close() system("rm -f deleatur.txt") # Je purge, j'aime pas laisser des saletés return HttpResponse(blabla)
def lsLong(request): blabla = "" system("ls -l > deleatur.txt") monFichier = Fichier("deleatur.txt", False) ligneAEcrire = django.get_version() ligneAEcrire = "Ce site tourne avec Django " + ligneAEcrire blabla += ligneAEcrire while monFichier.index < monFichier.longueur: ligneLue = monFichier.litUneLigne() ligneAEcrire = "<p>%s</p>\n" % (ligneLue) blabla += ligneAEcrire monFichier.close() system("rm -f deleatur.txt") # Je purge, j'aime pas laisser des saletés return HttpResponse(blabla)
def exporteDvd(request): tableauDeLignes = [] tableauDeLignes.append( "Cette page est vouée à permettre l'export des DVD.") monFichier = Fichier("dvd_export.csv", True) ligneAEcrire = '"titre","slug","act_clair","rea_clair","genre","place","obs"' tableauDeLignes.append(ligneAEcrire) monFichier.ecritUneLigne(ligneAEcrire) mesDvd = Dvd.objects.all() nbDvd = Dvd.objects.count() for numDvd in range(nbDvd): monDvd = mesDvd[numDvd] monTitre = nettoieExport(monDvd.titre) monSlug = nettoieExport(monDvd.slug) monActClair = nettoieExport(monDvd.actClair) monReaClair = nettoieExport(monDvd.reaClair) monGenre = nettoieExport(monDvd.genre) maPlace = nettoieExport(monDvd.place) mesObs = nettoieExport(monDvd.obs) ligneAEcrire = '"%s","%s","%s","%s","%s","%s","%s"' % \ (monTitre, monSlug, monActClair, monReaClair, monGenre, maPlace, mesObs) monFichier.ecritUneLigne(ligneAEcrire) tableauDeLignes.append(ligneAEcrire) monFichier.close() tableauDeLignes.append( "En principe, si vous lisez ça, c'est que l'export a eu lieu.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({'tabDeLignes': tableauDeLignes}) output = template.render(context) return HttpResponse(output)
def exportePhotos(request): tableauDeLignes = [] tableauDeLignes.append( "Cette page est vouée à permettre l'export des photos.") monFichier = Fichier("portes_classees_export.csv", True) mesPhotos = Photo.objects.all() nbPhotos = Photo.objects.count() for numPhoto in range(nbPhotos): maPhoto = mesPhotos[numPhoto] monNomAbrege = maPhoto.nomAbrege monNomComplet = maPhoto.nomComplet maCateg = maPhoto.categorie.slug ligneAEcrire = '"%s","%s","%s"' % (monNomAbrege, maCateg, monNomComplet) monFichier.ecritUneLigne(ligneAEcrire) tableauDeLignes.append(ligneAEcrire) monFichier.close() tableauDeLignes.append( "En principe, si vous lisez ça, c'est que l'export a eu lieu.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({'tabDeLignes': tableauDeLignes}) output = template.render(context) return HttpResponse(output)
def exporteElements(request): tableauDeLignes = [] tableauDeLignes.append( "Cette page est vouée à permettre l'export des éléments de dialogue.") monFichier = Fichier("elements_dialogue_export.csv", True) mesElements = ElementDialogue.objects.all() nbElements = ElementDialogue.objects.count() for numElement in range(nbElements): monElement = mesElements[numElement] monNom = monElement.nom monParam1 = monElement.param1 monParam2 = monElement.param2 monParam3 = monElement.param3 ligneAEcrire = '"%s","%s","%s","%s"' % (monNom, monParam1, monParam2, monParam3) monFichier.ecritUneLigne(ligneAEcrire) tableauDeLignes.append(ligneAEcrire) monFichier.close() tableauDeLignes.append( "En principe, si vous lisez ça, c'est que l'export a eu lieu.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({'tabDeLignes': tableauDeLignes}) output = template.render(context) return HttpResponse(output)
def importeCategories(request): # C'est volontairement que cette fonction n'utilise pas de template, pour # ne pas oublier totalement comment on peut s'y prendre. pageEntiere = "" pageEntiere += "<html>\n" pageEntiere += "<body>\n" pageEntiere += "<p>Ceci est voué à remplir la table des categories à partir d'un fichier CSV.</p>\n" monFichier = Fichier("categories.csv", False) while monFichier.index < monFichier.longueur: ligneLue = monFichier.litUneLigne() ligneAEcrire = "<p>%s</p>" % (ligneLue) pageEntiere += ligneAEcrire mesBazars = ligneLue.split(',') monNom = vireGuill(mesBazars[0]) monSlug = vireGuill(mesBazars[1]) ligneAEcrire = "<p>[%s] - [%s]</p>" % (monNom, monSlug) pageEntiere += ligneAEcrire # Je neutralise ce qui suit parce que ca a marche et que ce n'est # pas voue a etre utilise deux fois # Categorie.objects.create(nom=monNom, slug=monSlug) monFichier.close() pageEntiere += "</body>\n" pageEntiere += "</html>\n" return HttpResponse(pageEntiere)
def exporteCategories(request): tableauDeLignes = [] tableauDeLignes.append( "Cette page est vouée à permettre l'export des catégories.") monFichier = Fichier("categories_export.csv", True) mesCategories = Categorie.objects.all() nbCategories = Categorie.objects.count() for numCategorie in range(nbCategories): maCategorie = mesCategories[numCategorie] monNom = maCategorie.nom monSlug = maCategorie.slug ligneAEcrire = '"%s","%s"' % (monNom, monSlug) monFichier.ecritUneLigne(ligneAEcrire) tableauDeLignes.append(ligneAEcrire) monFichier.close() tableauDeLignes.append( "En principe, si vous lisez ça, c'est que l'export a eu lieu.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({'tabDeLignes': tableauDeLignes}) output = template.render(context) return HttpResponse(output)
def importeDvd(request): tableauDeLignes = [] tableauDeLignes.append( "Cette page est vouée à permettre l'importation des DVD.") monFichier = Fichier("dvd.csv", False) ligneLue = monFichier.litUneLigne() # On passe la ligne d'en-tête while monFichier.index < monFichier.longueur: ligneLue = monFichier.litUneLigne() tableauDeLignes.append(ligneLue) mesBazars = ligneLue.split(',') monTitre = nettoieImport(mesBazars[0]) monSlug = nettoieImport(mesBazars[1]) monActClair = nettoieImport(mesBazars[2]) monReaClair = nettoieImport(mesBazars[3]) monGenre = nettoieImport(mesBazars[4]) maPlace = nettoieImport(mesBazars[5]) mesObs = nettoieImport(mesBazars[6]) tableauDeLignes.append("[%s], [%s], [%s], [%s], [%s], [%s], [%s]" % \ (monTitre, monSlug, monActClair, monReaClair, monGenre, maPlace, mesObs)) # La ligne qui suit est vouée à être neutralisée si on ne veut pas qu'elle # soit employée par erreur # Dvd.objects.create(titre=monTitre, slug=monSlug, actClair=monActClair, \ # reaClair=monReaClair, genre=monGenre, place=maPlace, \ # obs=mesObs) monFichier.close() tableauDeLignes.append( "En principe, si vous lisez ça, c'est que l'importation a eu lieu.") template = loader.get_template('cestmoilechef/petite_merdasse.html') context = Context({'tabDeLignes': tableauDeLignes}) output = template.render(context) return HttpResponse(output)