diff --git a/bot1/__init__.py b/bot1/__init__.py
index 950c15c..172da22 100644
--- a/bot1/__init__.py
+++ b/bot1/__init__.py
@@ -5,22 +5,11 @@ from urllib.parse import urljoin
# This is the settings part for the bot logic
#from misc import post_to_solr
from .users import UserManager
+import settings
-env=environ.Env(
- CHATFILE=(str,"chats.yaml"),
- USERFILE=(str,"users.yaml"),
- TARGET=(str,"https://alpha.2020.fet.at"),
- URL_HOSTNAME=(str, "bot.2020.fet.at" ),
-
-)
-CHATFILE= env('CHATFILE')
-USERFILE=env('USERFILE')
-TARGET=env('TARGET')
-URL_HOSTNAME=env('URL_HOSTNAME')
-
-fet=fet2020postapi(urljoin(TARGET,"api/posts/"))
+fet=fet2020postapi(urljoin(settings.TARGET,"api/posts/"))
users=UserManager()
diff --git a/bot1/chats.py b/bot1/chats.py
index e8d8883..4c5fa0f 100644
--- a/bot1/chats.py
+++ b/bot1/chats.py
@@ -1,5 +1,5 @@
import yaml
-from . import CHATFILE, TARGET, URL_HOSTNAME
+
from pytgbot.bot.sync import SyncBot
from pytgbot.api_types.sendable.inline import (
InlineQueryResultArticle,
@@ -23,7 +23,7 @@ import logging
logger = logging.getLogger()
from misc import SaveFileMapping, SaveFileObject
from lxml.html.clean import clean_html, Cleaner
-
+import settings
solr = SolrFet2020()
@@ -181,10 +181,10 @@ class Chat(BaseChat):
InlineQueryResultArticle(
id=d["url"][0:49],
title=d["title"],
- url=urljoin(TARGET, d["url"]),
- thumb_url=urljoin(TARGET, d["image"]),
+ url=urljoin(settings.TARGET, d["url"]),
+ thumb_url=urljoin(settings.TARGET, d["image"]),
input_message_content=InputTextMessageContent(
- message_text=urljoin(TARGET, d["url"])
+ message_text=urljoin(settings.TARGET, d["url"])
),
)
for d in r[0:10]
@@ -259,9 +259,9 @@ class Chat(BaseChat):
u.token = "afwerve"
u.a = 1
self.reply_msg(
- urljoin("https://" + URL_HOSTNAME, "/auth/%s/%s" % (u.id, u.token))
+ urljoin("https://" + settings.URL_HOSTNAME, "/auth/%s/%s" % (u.id, u.token))
)
- self.send_msg(urljoin("https://", URL_HOSTNAME))
+ self.send_msg(urljoin("https://", settings.URL_HOSTNAME))
users.to_file()
return True
else:
@@ -291,7 +291,7 @@ def get_command_from_update(update):
class ChatManager(SaveFileMapping):
def __init__(self, bot):
- super().__init__(file=CHATFILE)
+ super().__init__(file=settings.CHATFILE)
if not type(bot) is SyncBot:
raise TelegramIntegrationException(
"This ChatManager needs a SyncBot from pytgbot as an argument"
diff --git a/bot1/states.py b/bot1/states.py
index 4853009..461a96e 100644
--- a/bot1/states.py
+++ b/bot1/states.py
@@ -1,6 +1,6 @@
from statemachine import StateMachine, State
from pytgbot.api_types.sendable.reply_markup import InlineKeyboardButton,InlineKeyboardMarkup
-from . import fet,TARGET
+from . import fet
from urllib.parse import urljoin
import logging
logger=logging.getLogger()
@@ -125,11 +125,11 @@ class CreatePostWorkflow(TelegramWorkflow):
self.p["post_type"]="N"
self.p["has_agenda"]="False"
self.p["public_date"]=datetime.date.today()
- self.send("posting to %s" % TARGET)
+ self.send("posting to %s" % settings.TARGET)
r,d=fet.create(self.p)
logger.info(r)
if r ==201:
- self.send("Eingabe fertig:%s" % str(urljoin(TARGET,"posts/"+d["slug"])))
+ self.send("Eingabe fertig:%s" % str(urljoin(settings.TARGET,"posts/"+d["slug"])))
else:
self.send("Fehler beim posten -- sorry")
diff --git a/settings.py b/settings.py
index 6c0eb62..27f8658 100644
--- a/settings.py
+++ b/settings.py
@@ -1 +1,20 @@
-STUFF="sdf"
\ No newline at end of file
+import environ
+STUFF="sdf"
+env = environ.Env(
+ SOLR_HOST=(str, "http://localhost:8980"), TARGET=(str, "https://alpha.2020.fet.at")
+)
+
+TARGET=env("TARGET")
+SOLR_HOST=env("SOLR_HOST")
+env=environ.Env(
+ CHATFILE=(str,"chats.yaml"),
+ USERFILE=(str,"users.yaml"),
+ TARGET=(str,"https://alpha.2020.fet.at"),
+ URL_HOSTNAME=(str, "bot.2020.fet.at" ),
+
+)
+
+CHATFILE= env('CHATFILE')
+USERFILE=env('USERFILE')
+TARGET=env('TARGET')
+URL_HOSTNAME=env('URL_HOSTNAME')
\ No newline at end of file
diff --git a/solrfet2020/__init__.py b/solrfet2020/__init__.py
index c21658e..07b037f 100644
--- a/solrfet2020/__init__.py
+++ b/solrfet2020/__init__.py
@@ -1,10 +1,6 @@
from lxml.html.clean import clean_html, Cleaner
-import environ
-import settings
-env = environ.Env(
- SOLR_HOST=(str, "http://localhost:8980"), TARGET=(str, "https://alpha.2020.fet.at")
-)
+import settings
import pysolr
from .convert import post_to_solr, member_to_solr
@@ -13,14 +9,13 @@ from fet2020api import fet2020memberapi, fet2020api
import yaml
from .solr_to_objects import result_to_object
-fet = fet2020api(urljoin(env("TARGET"), "api/posts/"), pk="slug")
-fetmember = fet2020memberapi(urljoin(env("TARGET"), "api/members/"))
-
+fet = fet2020api(urljoin(settings.TARGET, "api/posts/"), pk="slug")
+fetmember = fet2020memberapi(urljoin(settings.TARGET, "api/members/"))
class SolrFet2020:
def __init__(self):
self.solr = pysolr.Solr(
- urljoin(env("SOLR_HOST"), "/solr/core"), always_commit=True
+ urljoin(settings.SOLR_HOST, "/solr/core"), always_commit=True
)
def reindex(self):
diff --git a/solrfet2020/solr_to_objects.py b/solrfet2020/solr_to_objects.py
index f3f247b..14040c0 100644
--- a/solrfet2020/solr_to_objects.py
+++ b/solrfet2020/solr_to_objects.py
@@ -1,18 +1,16 @@
from .utils import fet, fetmember
from .utils import strip_html
from urllib.parse import urljoin,urlparse
-from . import env
+import settings
def pull_post(slug, o):
- #docs = result.docs
- highlights =o["highlights"]
post = fet.find_one({"slug": slug})
def create_text(p):
return "" + \
p["title"]+ ": "+ \
"(%s) " % p["public_date"] + \
- urljoin(env('TARGET'),
+ urljoin(settings.TARGET,
p["url"]).rstrip("/")+" "+\
p["highlights"]
@@ -23,14 +21,14 @@ def pull_post(slug, o):
post["typ"] = "posts"
post["highlights"]=create_highlights(o["highlights"])
post["text"] = create_text(post)
- if post["url"]: post["url"]= urljoin(env('TARGET'),post["url"]).rstrip("/")
- if post["imageurl"]:post["image"]=urljoin(env('TARGET'),urlparse(post["imageurl"]).path)
+ if post["url"]: post["url"]= urljoin(settings.TARGET,post["url"]).rstrip("/")
+ if post["imageurl"]:post["image"]=urljoin(settings.TARGET,urlparse(post["imageurl"]).path)
return post
def pull_member(id, o):
member = fetmember.get(id)
if not member: return None
- member["url"]=urljoin(env('TARGET'), "/member/%s" % id)
+ member["url"]=urljoin(settings.TARGET, "/member/%s" % id)
member["text"]=""+member["firstname"]+" "+member["surname"]+""+" "+member["url"]
member["imageurl"]=member["image"]
member["title"] =member["firstname"]+" "+member["surname"]