Fermer

Connectez-vous

Vous devez être connecté pour faire ça.

Identifiez-vous

Votre compte spontex.org




Ou




Nouveau ?
Créez votre compte en un seul clic.


   
  
  
  
C'est tout ! (oui, on vous demande SEULEMENT ça : login / MDP. Le reste, on s'en fout !)
Valider :


Données personnelles ?

Les informations sur ce site sont publiques mais la participation est réservée aux personnes enregistrées. S'enregistrer, ça veut dire "donner un login + un mot de passe". Après, vous pourrez renseigner plus d'informations mais RIEN d'autre n'est obligatoire. Si vous êtes tombé ici, c'est que vous avez voulu faire quelque chose réservé aux personnes enregistrées. De source fiable, j'ai appris que PERSONNE n'était JAMAIS mort après avoir rempli ce formulaire. Si vous ne voulez toujours pas vous enregistrer (libre à vous), vous pouvez continuer votre navigation, sans cliquer sur les liens qui mènent à cette page :-) Merci d'avoir lu jusqu'ici.

Titre
N'hésitez pas à partager nos informations... mais n'oubliez pas de nous citer !
you should never read that.

Sources des LSV avec un S ou non ?


Avatar de Ghost
Ghost - 16 juillet 2011 - 17:32:16

UPDATE lsv_lsvtrans 
SET sources = x.arr[2], details = x.arr[1]
FROM (
	SELECT id, string_to_array(details, '+Source :+') AS arr 
	FROM lsv_lsvtrans
	WHERE array_upper(string_to_array(details, '+Source :+'), 1)=2
) x
WHERE x.id=lsv_lsvtrans.id


Avatar de mansuetus
mansuetus - 16 juillet 2011 - 17:35:17

from spontex.lsv import models
import re
a = 0
for l in models.LsvTrans.objects.all():
    ok = 0
    try:
       details = details.split('+Sources:+\r\n')[0]
       sources = l.details.split('+Sources:+\r\n')[1]
       ok = 1
    except:
       try:
           details = l.details.split('+Source:+\r\n')[0]
           sources = l.details.split('+Source:+\r\n')[1]
           ok = 1
       except:
           try:
               details = l.details.split('+Source :+\r\n')[0]
               sources = l.details.split('+Source :+\r\n')[1]
               ok = 1
           except:
               try:
                   details = l.details.split('+Sources :+\r\n')[0]
                   sources = l.details.split('+Sources :+\r\n')[1]
                   ok = 1
               except:
                   try:
                       details = l.details.split('+Sources :+ \r\n')[0]
                       sources = l.details.split('+Sources :+ \r\n')[1]
                       ok = 1
                   except:
                       try:
                           details = l.details.split('+Source :+ \r\n')[0]
                           sources = l.details.split('+Source :+ \r\n')[1]
                           ok = 1
                       except:
                            try:
                                details = l.details.split('+Source :+\n')[0]
                                sources = l.details.split('+Source :+\n')[1]
                                ok = 1
                            except:
                                try:
                                    details = l.details.split('+Sources :+\n')[0]
                                    sources = l.details.split('+Sources :+\n')[1]
                                    ok = 1
                                except:
                                    try:
                                        details = l.details.split('+Source :+ \n')[0]
                                        sources = l.details.split('+Source :+ \n')[1]
                                        ok = 1
                                    except:
                                        try:
                                            details = l.details.split('+Sources :+ \n')[0]
                                            sources = l.details.split('+Sources :+ \n')[1]
                                            ok = 1
                                        except:
                                            ## Pas de sources
                                            a = a + 1
    if ok == 1:
        l.details = details
        l.sources = sources
        l.save()

J'ai exécuté ça. ta requête me fait trop peur ^^


Avatar de Ghost
Ghost - 16 juillet 2011 - 17:36:58

Pfff merci de m'avoir faire perdu 2h…


Avatar de Ghost
Ghost - 16 juillet 2011 - 18:52:00

UPDATE lsv_lsvtrans 
SET sources = x.arr[2], details = x.arr[1]
FROM (
	SELECT id, regexp_split_to_array(details, E'(\\+Source)(.*)(:)(.*)(\\+)') AS arr
	FROM lsv_lsvtrans 
	WHERE array_upper(regexp_split_to_array(details, E'(\\+Source)(.*)(:)(.*)(\\+)'), 1)=2
) x
WHERE x.id=lsv_lsvtrans.id;

La requête a été exécutée avec succés : 946 lignes modifiées. La requête a été exécutée en 172 ms.

(Sachant que j'ai modifié les LSV 1060 FR et 67 EN pour que le source se termine par + en local et sur le vrai site)


Avatar de mansuetus
mansuetus - 16 juillet 2011 - 21:17:54

J'avoue : c'est beau ;-)


Avatar de Beri
Beri - 17 juillet 2011 - 15:32:56

Ca sent le geek ici, c'est beau, ca me donne envie de me refoutre à tout ca.


Avatar de mansuetus
mansuetus - 17 juillet 2011 - 22:36:07

Le bug #1 a été corrigé : c'est pratiquement parfait.
Un outil pour corriger les URL a été fournis à côté, dans la partie modo, pour les plus résistantes.


Avatar de Be@
Be@ - 17 juillet 2011 - 23:46:57

Ouais, ben ça bétonne rien du tout !

Je viens de tester celle-ci que j'ai tinyurlisée ce matin dans le lsv “Voie alccolisée” : http://www.radio-canada.ca/nouvelles/Science-Sante/2006/04/05/004-voielactee-nuagealcool.shtml?ref=rss et il me dit :

Un % a été détectée : serait-elle déjà bétonnée ?

Et là je ne peux faire que OK et rien ne se passe.
Pourquoi il marche pas le nouveau jouet ? :'(


Avatar de mansuetus
mansuetus - 18 juillet 2011 - 00:15:23

pas besoin, si ?

Le bétonnage, ça ne sert QUE pour les pour lesquels on ne peut pas faire ça :-)


Avatar de Ghost
Ghost - 18 juillet 2011 - 01:26:24

Mans le bug apparaît aussi quand il y a 2 tirets, genre 2005—10–2, le textile fait un seul trait, ce qui foire. Ajoute ça aussi au bétonnage =) ie remplacer les – par %2D.


Avatar de Beri
Beri - 18 juillet 2011 - 11:14:43

Et si on tente un bétonnage avec une URL déjà bétonnée (ou conmtenant un %) ca essaye quand même un formatage et du coup ca plante, exemple:

fr.wikipedia.org/wiki/Est%C3%A9rification

devient

fr.wikipedia.org/wiki/Est%25C3%25A9rification


Avatar de mansuetus
mansuetus - 18 juillet 2011 - 11:16:41

Beri : D'où le message :-)

Ahmet : regarde le code, ce sera plutôt le supprimer du bétonnage ^^
(j'essaye d'y penser ce soir)


Avatar de Beri
Beri - 18 juillet 2011 - 11:24:59

Ce que je voulais dire par là c'était peut être de faire apparaitre le résultat dans une autre textbox pour garder l'original, de faire un lien avec le lien original et un lien avec le bétonné en exemple juste en dessous (dynamique).
Comme ca le posteur peut tester le lien directement et choisir entre bétonné ou non bétonné.


Avatar de Ghost
Ghost - 18 juillet 2011 - 15:35:51

Mans dans ce cas pourquoi tu ne fais pas un decodeURIComponent() de l'url puis tu l'encodes à nouveau ?


Avatar de mansuetus
mansuetus - 19 juillet 2011 - 00:55:19

bonne idée :-)



Ajouter un post

Vous pourrez poster une réponse quand vous serez loggué
se connecter ou créer un compte