viewgit/index.php:465 Only variables should be passed by reference [2048]

viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]

  1. #
  2. # -*- coding: utf-8 -*-
  3. #
  4.  
  5. import random
  6. import urllib2
  7. import mutex
  8. import threading
  9. import re
  10.  
  11. default_page = "http://poisson.phc.unipi.it"
  12.  
  13. def get_links(url):
  14. content = get_page(url)
  15. if(content == -1):
  16. return -1
  17.  
  18. links = re.findall(r"<a href=\"(\S*)\"[^>]*>",content)
  19. ret = []
  20. for link in links:
  21. # Espando il link in modo da (speriamo!)
  22. # garantire l'unicità
  23. ret.append(expand_url(url, link))
  24.  
  25. return ret
  26.  
  27.  
  28. def expand_url(parent, url):
  29. """Questa funzione prende l'url della pagina parent
  30. e l'url del link e dà all'url del link una forma unica
  31. e canonica, del tipo
  32.  
  33. http://www.example.com/pagina
  34. http://www.example.com/pagina.html
  35. """
  36.  
  37. ## Controllo che l'url non cominci con un punto
  38. ## nel qual caso cerchiamo di rimediare subito
  39. if url[0] == ".":
  40. if len(url) == 1:
  41. url = parent
  42.  
  43. else:
  44. if(url[1] != "."):
  45. url = url[1:]
  46.  
  47.  
  48. ## Controlliamo prima di tutto se nell'url c'è un
  49. ## protocollo
  50. protocol = re.search(r"(\w+):", url)
  51. if protocol == None:
  52. url = parent + url
  53. return url
  54.  
  55. def get_page(url):
  56. try:
  57. req = urllib2.urlopen(url)
  58. except:
  59. return -1
  60.  
  61. return req.read()
  62.  
  63. class Crawler(threading.Thread):
  64.  
  65. def __init__(self, startpage=default_page):
  66. threading.Thread.__init__(self)
  67. start_page = start_page
  68.  
  69.  
  70. def run():
  71.  
  72. # Capiamo che pagina ci serve
  73. page = start_page
  74.  
  75. # Come prima cosa devo fare il parsing dei
  76. # link che ci sono nella pagina
  77.  
  78. links = get_links(page)
  79.  
  80.