IPB

Bienvenue invité ( Connexion | Inscription )

 
Closed TopicStart new topic
> Problème avec un AppleScript
Options
gluzy
posté 10 Feb 2012, 18:57
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 157
Inscrit : 5 Jul 2007
Membre no 90 051



Bonsoir,

On m'a fait un script qui me permettait de récupérer du contenu audio posté sur le site HotNewHiphop.com cependant, il ne marche plus depuis plus d'une semaine et la personne qui me l'avait fait ne réponds plus à mes messages. Lorsque je lance le script à la main, c'est à dire en l'ouvrant avec l'Editeur AppleScript, j'obtient cette erreur :

Code
" error "sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file" number 2
"


J'aimerais savoir si quelqu'un sait à quoi cela correspond et pense savoir comment résoudre ce type d'erreur. Si vous le savez et voulez bien m'accorder un peu de temps, pouvez vous m'envoyer un MP pour que je puisse vous expliquer plus en détail ce que fait ce script afin que vous sachiez exactement si vous pouvez ou pas résoudre mon problème. Je fais donc un appel à l'aide à tout les développeurs de Macbidouille qui pourront/voudrons me consacrer un peu de temps et réussir à résoudre mon problème.

J'espère ne pas avoir été trop énigmatique et que ce post n'enfreint pas les règles de ce forum,
En espérant obtenir de l'aide,
Gluzy

EDIT : Vu que personnes n'est inspiré, je post le script :
Code
set last_URLs to getSongsList(false)

if last_URLs is "" then
    set resButt to the button returned of (display dialog "Aucun nouveau morceau n'est disponible. Effacer la liste et rechercher à nouveau ?" buttons {"Non", "Oui"} default button 1)
    if resButt = "Oui" then
        set last_URLs to getSongsList(true)
    else
        return
    end if
end if

repeat with siteURL in (get paragraphs of last_URLs)
    set MP3_URL to do shell script "/usr/bin/curl " & (quoted form of siteURL) & " -s | /usr/bin/grep 'doShareLink' | /usr/bin/sed \"s/.*doShareLink('//;s/');.*$//\" "
    if MP3_URL is not "" and MP3_URL does not contain "no_file" then
        
        if (downloadURLAndReturnPathToFileWithAttemps(MP3_URL, "~/Downloads/") is "") then
            display dialog "Erreur lors du téléchargement de : " & MP3_URL buttons {"Ok"} default button 1
        end if
        
    end if
end repeat

ajoute_fichiers_dans_itunes()


on getSongsList(mustReset)
    set r to (do shell script "/usr/bin/curl 'http://www.hotnewhiphop.com/' -s" without altering line endings)
    if paragraph 1 of r contains "database" or r is "" then return -- probleme, ce sera pour la prochaine fois
    set s to quoted form of r
    
    set t_folder to "~/Documents/.dossier_hiphopearly.com/"
    
    if (mustReset = true) then
        do shell script "rm -r " & t_folder
    end if
    
    set last_URLs to do shell script "/bin/mkdir -p " & t_folder & "; cd " & t_folder & ";if [ ! -e old_links.txt ];then /usr/bin/touch old_links.txt; fi;echo " & s & " | /usr/bin/perl -ne '$i=0;while (<>) {if ( /<div class=\"titre group\">[^<].*, 201[1-9]</ .. eof) { if  (/.*<h3><a href=\"/) {s/.*<a href=\"//, s/\".*//, print;$i++} if ((/<div class=\"titre group\">/) && ($i>0)) {exit;}}}' > current_links.txt; /usr/bin/diff -a --changed-group-format=\"%>\" --unchanged-line-format=\"\" old_links.txt current_links.txt; /bin/mv -f  current_links.txt old_links.txt;"
    
    return last_URLs
end getSongsList


on downloadURLAndReturnPathToFileWithAttemps(anURL, folderPath)
    repeat 3 times
        set thePath to downloadURLAndReturnPathToFile(anURL, folderPath)
        delay 1
        if thePath is not "" and (getByteSize(thePath) as integer) > 128000 then
            return thePath
        end if
    end repeat
    return ""
end downloadURLAndReturnPathToFileWithAttemps

on downloadURLAndReturnPathToFile(anURL, folderPath)
    set aCookie to do shell script "curl -I '" & anURL & "' | grep 'Cookie' | sed 's/.*Set-Cookie: \\([^ ]*\\);.*/\\1/'"
    delay 4
    set waitPage to do shell script "curl -I -b '" & aCookie & "' '" & anURL & "'"
    delay 16
    
    set aTmpFileName to do shell script "echo '" & anURL & "' | sed 's/.*files\\/\\([^ ]*\\).*/\\1/'"
    set pathToFile to folderPath & aTmpFileName
    
    try
        do shell script "cd " & folderPath & "
curl -b '" & aCookie & "' -O '" & anURL & "'"
        do shell script "mv " & pathToFile & " " & pathToFile & ".mp3"
        set pathToFile to pathToFile & ".mp3"
    on error
        return ""
    end try
    
    return pathToFile
end downloadURLAndReturnPathToFile

on getByteSize(thePath)
    try
        return do shell script "mdls -name kMDItemFSSize -raw " & thePath
    on error
        return -1 --Le fichier n'existe pas
    end try
end getByteSize


on ajoute_fichiers_dans_itunes() --- *** ajoute les mp3 dans iTunes,
    set down_Folder to quoted form of POSIX path of (path to downloads folder)
    repeat 5 times -- boucle : vérifie le dossier de téléchargement,  1 minute 15 secondes au maximum
        set n to do shell script "/usr/bin/find " & down_Folder & " -maxdepth 1 -name '*.mp3.download*' -print | wc -l"
        set r to do shell script "/usr/bin/find " & down_Folder & " -maxdepth 1 -name '*.mp3' -print"
        if r is not "" then repeat with i in (get paragraphs of r)
            try
                set t_mp3 to (POSIX file i) as alias
                tell application "iTunes" to set track_ajouter to add t_mp3
                track_ajouter -- erreur si non défini, iTunes n'a pas ajouté le fichier dans sa bibliotheque
                do shell script "/bin/rm -f " & (quoted form of i) -- si le mp3 est copier dans iTunes, supprime le fichier mp3
            end try
        end repeat
        if n is "" or word 1 of n is "0" then exit repeat -- aucun fichier .mp3.download  en cours de téléchargement
        delay 15 -- augmenter le temps en secondes, si votre  internet est  lent
    end repeat
end ajoute_fichiers_dans_itunes


Ce message a été modifié par gluzy - 27 Feb 2012, 18:54.
Go to the top of the page
 
+Quote Post
gluzy
posté 16 Feb 2012, 21:17
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 157
Inscrit : 5 Jul 2007
Membre no 90 051



Personne ? :'(
Go to the top of the page
 
+Quote Post
jpimbert
posté 19 Feb 2012, 11:06
Message #3


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 350
Inscrit : 3 Dec 2002
Lieu : La Crau (Var)
Membre no 4 993



Ça n'a pas l'air compliqué à corriger, il suffirait d'avoir le script.


--------------------
Le temps ne respecte pas ce que l'on fait sans lui
iMac Intel Core2Duo 20" 2,4GHz 3Go 250Go MacOS X 10.5.6 + LaCie FireWire 500 Go + Maxtor FireWire 500 Go
Go to the top of the page
 
+Quote Post
gluzy
posté 19 Feb 2012, 12:33
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 157
Inscrit : 5 Jul 2007
Membre no 90 051



Ce script fait quelque chose qui m'avait couté la fermeture de mes autres post' enfaite ^^ donc j'ai préféré ne pas le mettre. Je t'ai envoyé un MP avec le script wink.gif
Go to the top of the page
 
+Quote Post
gluzy
posté 9 Mar 2012, 19:22
Message #5


Adepte de Macbidouille
*

Groupe : Membres
Messages : 157
Inscrit : 5 Jul 2007
Membre no 90 051



Personne pour m'aider ? Je désespère ... :'(
Go to the top of the page
 
+Quote Post
Matrix
posté 9 Mar 2012, 19:33
Message #6


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 15 469
Inscrit : 19 Oct 2003
Lieu : Du côté de Toulouse
Membre no 10 563



Tu as bien fait de rappeler l'usage de ton script. Fin définitive de ce sujet sur notre forum, dernier avertissement
Go to the top of the page
 
+Quote Post

Closed TopicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 09:30