~josealberto4444/apodnasabot

b6218a96c237db9b5fdbef045a94e909cbe458f2 — josealberto4444 5 years ago b26a3fd
Strings well formattted.
5 files changed, 32 insertions(+), 23 deletions(-)

M .directory
M .gitignore
M bot.py
M cronBot.py
M lastpic.txt
M .directory => .directory +1 -1
@@ 1,5 1,5 @@
[Dolphin]
Timestamp=2015,11,15,13,56,10
Timestamp=2016,1,7,1,42,14
Version=3

[Settings]

M .gitignore => .gitignore +2 -3
@@ 1,8 1,7 @@
# File with bot tokens
# Private files
config.cfg

# Subscriber list
subscribers.txt
logBugsCron.txt

# Folder with APOD pictures
pictures/**

M bot.py => bot.py +14 -9
@@ 1,7 1,6 @@
import urllib.request
import urllib.response
import re
import os.path
import requests
import telebot
from time import gmtime, strftime


@@ 28,10 27,12 @@ def ScrapAndSavePic():
	scrap = re.compile('''IMG SRC="(image/.*?)".*?<b> (.*?) </b> <br>''')
	scrap_a = re.compile('''Explanation: </b>(.*?) Tomorrow..s picture''')
	scrap_b = re.compile('''(.*?)<a href="(.*?)".?.?>(.*?)</a>''')
	scrap_c = re.compile('''(?!.*</a>)/a>(.*?)$''')

	tupla = scrap.search(sourcecode).groups() # URL de la imagen
	tupla_a = scrap_a.search(sourcecode).groups() # Nombre del texto explicativo
	tupla_b = scrap_b.findall(tupla_a[0]) # Texto con enlaces TODO: Puede que no pille el texto después del último enlace
	tupla_b = scrap_b.findall(tupla_a[0]) # Texto con enlaces
	tupla_c = scrap_c.search(tupla_a[0]).groups() # Final del texto (a partir del último enlace no se pilla con el patrón anterior)
	
	flastpic = open("lastpic.txt",'r')
	lastpic = flastpic.read()


@@ 44,24 45,28 @@ def ScrapAndSavePic():
		flastpicw.close()
	
	global pictitle
	pictitle = tupla[1]
	pictitle = tupla[1].replace('\\\'', '\'') #Limpiar todos los \'
	
	global explanation
	explanation_raw = tupla_b
	explanation = toMarkDown(explanation_raw)
	explanation = toMarkDown(explanation_raw, tupla_c[0])

def toMarkDown(raw):
def toMarkDown(raw, end):
	charexp = ''
	for ii in range(0,len(raw)):
		urlexp = raw[ii][1]
		if not(urlexp.startswith('http')) or (urlexp.startswith(' http')):
			urlexp = 'http://apod.nasa.gov/apod/'+urlexp
		urlexp = urlexp.replace('\\n', '')
		charexp = charexp+raw[ii][0]+'['+raw[ii][2]+']('+urlexp+')'
		
	charexp = charexp.replace('\\n', '') #Limpiar todos los \n
	charexp = charexp+end
	
	charexp = charexp.replace('\\n', ' ') #Limpiar todos los \n
	charexp = charexp.replace('\\\'', '\'') #Limpiar todos los \'
	charexp = charexp.replace(' http', 'http') #Limpiar los http precedidos de espacio
	#charexp = re.sub('''(\.)[^ ]''', '. ', charexp) TODO
	charexp = re.sub(r'\s+', ' ', charexp) # Limpiar los espacios múltiples
	charexp = charexp.replace(' .', '.') # Limpiar los puntos precedidos de espacio
	charexp = charexp.replace(' ,', ',') # Limpiar las comas precedidas de espacio
	return re.sub('<.*?>', '', charexp) # Quitar todas las etiquetas HTML

def setImgPath():


@@ 101,7 106,7 @@ lastpic = flastpic.read()
flastpic.close()

configFile = 'config.cfg'
botName = 'ApodNasaBot' # Bot name as written in config file.
botName = 'FADDBot'#ApodNasaBot' # Bot name as written in config file.

# We get the token from the config file or create a config file
BToken = CheckCfg(configFile, botName) # We execute the function once and save the result. Comments needed from now on

M cronBot.py => cronBot.py +14 -9
@@ 1,7 1,6 @@
import urllib.request
import urllib.response
import re
import os.path
import requests
import telebot
from time import gmtime, strftime


@@ 28,10 27,12 @@ def ScrapAndSavePic():
	scrap = re.compile('''IMG SRC="(image/.*?)".*?<b> (.*?) </b> <br>''')
	scrap_a = re.compile('''Explanation: </b>(.*?) Tomorrow..s picture''')
	scrap_b = re.compile('''(.*?)<a href="(.*?)".?.?>(.*?)</a>''')
	scrap_c = re.compile('''(?!.*</a>)/a>(.*?)$''')

	tupla = scrap.search(sourcecode).groups() # URL de la imagen
	tupla_a = scrap_a.search(sourcecode).groups() # Nombre del texto explicativo
	tupla_b = scrap_b.findall(tupla_a[0]) # Texto con enlaces TODO: Puede que no pille el texto después del último enlace
	tupla_b = scrap_b.findall(tupla_a[0]) # Texto con enlaces
	tupla_c = scrap_c.search(tupla_a[0]).groups() # Final del texto (a partir del último enlace no se pilla con el patrón anterior)
	
	flastpic = open(os.path.dirname(__file__)+"/lastpic.txt",'r')
	lastpic = flastpic.read()


@@ 44,24 45,28 @@ def ScrapAndSavePic():
		flastpicw.close()
	
	global pictitle
	pictitle = tupla[1]
	pictitle = tupla[1].replace('\\\'', '\'') #Limpiar todos los \'
	
	global explanation
	explanation_raw = tupla_b
	explanation = toMarkDown(explanation_raw)
	explanation = toMarkDown(explanation_raw, tupla_c[0])

def toMarkDown(raw):
def toMarkDown(raw, end):
	charexp = ''
	for ii in range(0,len(raw)):
		urlexp = raw[ii][1]
		if not(urlexp.startswith('http')) or (urlexp.startswith(' http')):
			urlexp = 'http://apod.nasa.gov/apod/'+urlexp
		urlexp = urlexp.replace('\\n', '')
		charexp = charexp+raw[ii][0]+'['+raw[ii][2]+']('+urlexp+')'
		
	charexp = charexp.replace('\\n', '') #Limpiar todos los \n
	charexp = charexp+end
	
	charexp = charexp.replace('\\n', ' ') #Limpiar todos los \n
	charexp = charexp.replace('\\\'', '\'') #Limpiar todos los \'
	charexp = charexp.replace(' http', 'http') #Limpiar los http precedidos de espacio
	#charexp = re.sub('''(\.)[^ ]''', '. ', charexp) TODO
	charexp = re.sub(r'\s+', ' ', charexp) # Limpiar los espacios múltiples
	charexp = charexp.replace(' .', '.') # Limpiar los puntos precedidos de espacio
	charexp = charexp.replace(' ,', ',') # Limpiar las comas precedidas de espacio
	return re.sub('<.*?>', '', charexp) # Quitar todas las etiquetas HTML

def setImgPath():


@@ 85,7 90,7 @@ lastpic = flastpic.read()
flastpic.close()

configFile = os.path.dirname(__file__)+'/config.cfg'
botName = 'ApodNasaBot' # Bot name as written in config file.
botName = 'FADDBot'#ApodNasaBot' # Bot name as written in config file.

# We get the token from the config file or create a config file
BToken = CheckCfg(configFile, botName) # We execute the function once and save the result. Comments needed from now on

M lastpic.txt => lastpic.txt +1 -1
@@ 1,1 1,1 @@
image/1511/leonidsmonuments_sabatini_960.jpg
\ No newline at end of file
image/1601/CatalinaBorrellyArcturus2016-01-01_Hemmerich600w.jpg
\ No newline at end of file