Advertisement
AdslHouba

kit de mise à jour

Feb 8th, 2017
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.74 KB | None | 0 0
  1. -- Utilisation dans la console :
  2. -- "maj"            Met a jour tous les programmes + utilitaire
  3. -- "maj NOM1, NOM2" Met a jour et/ou ajouute le programme NOM
  4.  
  5. -- Par Adsl-Houba ( Samuel Mandonnaud )
  6. -- www.youtube.com/user/MrAdslHouba www.adslhouba.fr
  7.  
  8. -- Remplace le contenu du fichier "fichier" par le contenu de la page "url"
  9. function majFichierParUrl(fichier,url)
  10.     if fs.exists(fichier) then
  11.         fs.delete(fichier)
  12.     end
  13.     print(fichier.." < "..url)
  14.     local content = http.get(url)
  15.     local file = fs.open(fichier,"w")
  16.     file.write(content.readAll())
  17.     file.close()
  18. end
  19.  
  20. -- Recupere le programme ahb
  21. function majAHB()
  22.     majFichierParUrl("ahb","https://raw.githubusercontent.com/Niuttuc/ImperaMiniJeu/master/Common/Advanced%20Home%20Base%20(ahb).lua")
  23. end
  24.  
  25. -- Configuration des plateformes
  26. local plateforme={
  27.     github=function(nom)
  28.         configGit=ahb.config("gitHubDef",{
  29.             user={typ="string",info="utilisateur github.com par default"},
  30.             repository={typ="string",info="nom repository github.com par default"},
  31.             branch={typ="string",info="branch github.com par default",defaut="master"}
  32.         })
  33.         config=ahb.config("maj"..nom,{
  34.             user={typ="string",info="utilisateur github.com ",defaut=configGit.user},
  35.             repository={typ="string",info="nom repository github.com",defaut=configGit.repository},
  36.             branch={typ="string",info="branch github.com",defaut=configGit.branch},
  37.             file={typ="string",info="fichier sur github.com"},
  38.             prog={typ="string",info="Nom du fichier pour CC",defaut=nom}
  39.         })
  40.         majFichierParUrl(config.prog,"https://raw.githubusercontent.com/"..config.user.."/"..config.repository.."/"..config.branch.."/"..config.file.."?t"..os.day()..os.time())
  41.     end,
  42.     pastebin=function(nom)
  43.         config=ahb.config("maj"..nom,{
  44.             pastebin={typ="string",info="Identifiant pastbin"},
  45.             prog={typ="string",info="Nom du fichier pour CC",defaut=nom}
  46.         })
  47.         majFichierParUrl(config.prog,"https://pastebin.com/raw/"..config.pastebin)
  48.     end,
  49.     site=function(nom)
  50.         confiSite=ahb.config("siteDef",{
  51.             url={typ="string",info="Url principal"},
  52.         })
  53.         config=ahb.config("maj"..nom,{
  54.             url={typ="string",info="Url hebergement ",defaut=confiSite.url},
  55.             fichier={typ="string",info="Nom du fichier"},
  56.             prog={typ="string",info="Nom du fichier pour CC",defaut=nom}
  57.         })
  58.         majFichierParUrl(config.prog,config.url..config.fichier.."?t"..os.day()..os.time())
  59.     end
  60. }
  61.  
  62. -- Debut du programme
  63. local args={ ... }
  64. -- Si pas d'arguement, maj complete
  65. if (#args == 0) then
  66.     majAHB()
  67.     os.loadAPI("ahb")
  68.     config=ahb.config("majs",{liste={typ="table"}})
  69.     for prog, site in pairs(config.liste) do
  70.         if plateforme[site] then
  71.             plateforme[site](prog)
  72.         else
  73.             error("Plateforme non trouve "..site)
  74.         end
  75.     end
  76. else
  77.     if not(fs.exists("ahb")) then
  78.         majAHB()
  79.     end
  80.     for i, prog in pairs(args) do
  81.         if prog=='ahb' then
  82.             majAHB()
  83.         else
  84.             os.loadAPI("ahb")
  85.             config=ahb.config("majs",{liste={typ="table"}})
  86.             if config.liste[prog]==nil then
  87.            
  88.                 term.setBackgroundColor(colors.white)
  89.                 term.setTextColor(colors.black)
  90.                 term.clear()
  91.                 term.setCursorPos(1,1)
  92.                 term.write("Nouveau programme "..prog)
  93.                
  94.                 local curs=2
  95.                 for nomPf, fc in pairs(plateforme) do
  96.                     term.setCursorPos(2,curs)
  97.                     term.write(nomPf)
  98.                     curs=curs+1
  99.                 end
  100.                
  101.                 local bool=true
  102.                 while bool do
  103.                     ev,button,x,y=os.pullEvent("mouse_click")
  104.                     local curs=2
  105.                     for nomPf, fc in pairs(plateforme) do
  106.                         if y==curs then
  107.                             ahb.configTab('majs','liste','add',prog,nomPf)
  108.                             config.liste[prog]=nomPf
  109.                             bool=false
  110.                         end
  111.                         curs=curs+1
  112.                     end    
  113.                 end            
  114.             end
  115.            
  116.             if plateforme[config.liste[prog]] then
  117.                 plateforme[config.liste[prog]](prog)
  118.             else
  119.                 error("Site non config "..args[1])
  120.             end
  121.         end
  122.     end
  123. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement