Skip to content

Commit

Permalink
version 1.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
beudbeud committed Apr 23, 2023
1 parent 9deb286 commit 47b8459
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 36 deletions.
2 changes: 1 addition & 1 deletion discoger/_info.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = '1.0.1'
__version__ = '1.0.2'

__title__ = "discoger"
__author__ = 'Beudbeud'
Expand Down
79 changes: 44 additions & 35 deletions discoger/discoger.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from time import sleep

import telebot
from telebot import types
from telebot import types, util

import logging
logging.basicConfig(format='%(asctime)s %(levelname)s - %(message)s', level=logging.INFO)
Expand All @@ -23,17 +23,8 @@
database_dir = Path(home + "/.config/discoger/databases")


def read_ini(file_path):
config = configparser.ConfigParser()
config.read(file_path)
for section in config.sections():
for key in config[section]:
print((key, config[section][key]))
return config


if config_file.exists():
config = read_ini(config_file)
config = configparser.ConfigParser()
config.read(config_file)
else:
logging.error("No config file, please create a config file follwing example")
Expand Down Expand Up @@ -84,33 +75,42 @@ def get_check(message):
else:
db["release_list"] = list()
db.save()
bot.send_message(chat_id, "Your discoger want list is empty, send me item url first")
bot.send_message(chat_id, "Your discoger following list is empty, send me item url first")


@bot.message_handler(regexp="^https://www.discogs.com/fr/release/.*")
def handle_message(message):
release_info = dict()
chat_id = message.chat.id
release_id = re.findall(r'\d+', message.text)[0]
relase_all_info = d.release(release_id)
bot.send_message(chat_id, release_id)
db = YamlDB(filename="%s/.config/discoger/databases/%s.yaml" % (home, chat_id))
release_info["release_id"] = release_id
release_info["artist"] = relase_all_info.artists[0].name
release_info["title"] = relase_all_info.title
release_info["last_sell"] = dict()
db["release_list"].append(release_info)
db.save()
if not db.search("release_list[?release_id=='%s']" % (release_id)):
relase_all_info = d.release(release_id)
db = YamlDB(filename="%s/.config/discoger/databases/%s.yaml" % (home, chat_id))
release_info["release_id"] = release_id
release_info["artist"] = relase_all_info.artists[0].name
release_info["title"] = relase_all_info.title
release_info["last_sell"] = dict()
db["release_list"].append(release_info)
db.save()
bot.send_message(chat_id, "%s is added in following list" % (release_id))
else:
bot.send_message(chat_id, "%s is already in following list" % (release_id))


@bot.message_handler(commands=['list'])
def get_list(message):
chat_id = message.chat.id
db = YamlDB(filename="%s/.config/discoger/databases/%s.yaml" % (home, chat_id))
id_list = 0
all_text = ""
for i in db["release_list"]:
bot.send_message(chat_id, "%s: %s - %s" % (id_list, i["artist"], i["title"]))
text = "%s: %s - %s https://www.discogs.com/fr/release/%s" % (id_list, i["artist"], i["title"], i["release_id"])
all_text = all_text + "\n" + text
id_list = id_list + 1
splitted_text = util.split_string(all_text, 3000)
for text in splitted_text:
bot.send_message(chat_id, text, disable_web_page_preview=True)


@bot.message_handler(commands=['delete'])
Expand All @@ -126,18 +126,23 @@ def process_delete_step(message):
db = YamlDB(filename="%s/.config/discoger/databases/%s.yaml" % (home, chat_id))
db["release_list"].pop(int(id_item))
db.save()
bot.send_message(chat_id, "% is deleted in following list" % (id_item))


def get_info(release_id):
data_last_sell = dict()
url = f"https://www.discogs.com/fr/sell/mplistrss?output=rss&release_id={release_id}"
feed = feedparser.parse(url)
entry = feed.entries[-1]
data_last_sell["id"] = re.findall(r'\d+', entry["link"])[0]
data_last_sell["date"] = entry["updated"]
data_last_sell["url"] = entry["link"]
data_last_sell["price"] = re.findall(r'... \d?\d?\d\d.\d\d', entry["summary_detail"]["value"])[0]
return data_last_sell
try:
entry = feed.entries[-1]
data_last_sell["id"] = re.findall(r'\d+', entry["link"])[0]
data_last_sell["date"] = entry["updated"]
data_last_sell["url"] = entry["link"]
data_last_sell["price"] = re.findall(r'... \d?\d?\d\d.\d\d', entry["summary_detail"]["value"])[0]
return data_last_sell
except Exception as e:
logging.debug("%s: for %s item" % (e, release_id))
return None


def check_discogs(chat_id=None):
Expand All @@ -155,15 +160,19 @@ def check_discogs(chat_id=None):
def scrap_data(chat_id):
db = YamlDB(filename="%s/.config/discoger/databases/%s.yaml" % (home, chat_id))
chat_id = db.get("chat_id")
for i in db["release_list"]:
data_last_sell = get_info(i["release_id"])
if not i["last_sell"] or (i["last_sell"]["id"] != data_last_sell["id"] and i["last_sell"]["date"] < data_last_sell["date"]):
logging.info("New item for %s - %s" % (i["artist"], i["title"]))
text = "New release for :\n%s\ndate: %s\nprice: %s\n%s" % (i["title"], data_last_sell["date"], data_last_sell["price"], data_last_sell["url"])
bot.send_message(chat_id, text)
i["last_sell"] = data_last_sell
for i in range(len(db["release_list"])):
item = db.search("release_list[%s]" % (str(i)))
data_last_sell = get_info(item["release_id"])
if data_last_sell:
if not item["last_sell"] or (item["last_sell"]["id"] != data_last_sell["id"] and item["last_sell"]["date"] < data_last_sell["date"]):
logging.info("New item for %s - %s" % (item["artist"], item["title"]))
text = "New release for :\n%s\ndate: %s\nprice: %s\n%s" % (item["title"], data_last_sell["date"], data_last_sell["price"], data_last_sell["url"])
bot.send_message(chat_id, text)
db["release_list"][i]["last_sell"] = data_last_sell
else:
logging.info("Not new item for %s - %s" % (db["release_list"][i]["artist"], db["release_list"][i]["title"]))
else:
logging.info("Not new item for %s - %s" % (i["artist"], i["title"]))
logging.info("Nothing available for %s - %s" % (db["release_list"][i]["artist"], db["release_list"][i]["title"]))
db.save()


Expand Down

0 comments on commit 47b8459

Please sign in to comment.