Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
C
crawler
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Project - Tarifs Crawler & API
crawler
Commits
5dba92ca
Commit
5dba92ca
authored
Jun 13, 2025
by
Marco Schmiedel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
3028c354
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
130 additions
and
6 deletions
+130
-6
0c371de0-5973-4ab4-928c-cf5415012cc8.json
.sidekick/database/0c371de0-5973-4ab4-928c-cf5415012cc8.json
+11
-0
38b9eebe-955e-4052-a0f6-29c69b1242b3.json
.sidekick/database/38b9eebe-955e-4052-a0f6-29c69b1242b3.json
+1
-1
38da158f-ad91-433f-8b7b-60ff4949d7ff.json
.sidekick/database/38da158f-ad91-433f-8b7b-60ff4949d7ff.json
+3
-3
986eeb57-8634-4f40-a4ea-a2eae9d87e71.json
.sidekick/database/986eeb57-8634-4f40-a4ea-a2eae9d87e71.json
+1
-1
setStaticOptionPrices.py
commands/setStaticOptionPrices.py
+110
-0
MysqlConfig.py
config/MysqlConfig.py
+1
-1
_CronConfig.txt
config/_CronConfig.txt
+3
-0
No files found.
.sidekick/database/0c371de0-5973-4ab4-928c-cf5415012cc8.json
0 → 100644
View file @
5dba92ca
{
"fileId"
:
"0c371de0-5973-4ab4-928c-cf5415012cc8"
,
"originalPath"
:
"work/commands/setStaticOptionPrices.py"
,
"currentPath"
:
"work/commands/setStaticOptionPrices.py"
,
"hash"
:
"ff9c898694ab65f87e613dcac0ab20c4565335db25c2656bed573d103ad2c694"
,
"docContent"
:
"<p><br></p>"
,
"checkedStatus"
:
"todo"
,
"comments"
:
[],
"lastCheckedTimestamp"
:
1749816832953
,
"lastFileModificationTimestamp"
:
1749816769839.5076
}
.sidekick/database/38b9eebe-955e-4052-a0f6-29c69b1242b3.json
View file @
5dba92ca
...
@@ -13,5 +13,5 @@
...
@@ -13,5 +13,5 @@
}
}
],
],
"lastCheckedTimestamp"
:
1747123619645
,
"lastCheckedTimestamp"
:
1747123619645
,
"lastFileModificationTimestamp"
:
174
7135280562.6484
"lastFileModificationTimestamp"
:
174
9816529644.1785
}
}
.sidekick/database/38da158f-ad91-433f-8b7b-60ff4949d7ff.json
View file @
5dba92ca
...
@@ -2,10 +2,10 @@
...
@@ -2,10 +2,10 @@
"fileId"
:
"38da158f-ad91-433f-8b7b-60ff4949d7ff"
,
"fileId"
:
"38da158f-ad91-433f-8b7b-60ff4949d7ff"
,
"originalPath"
:
"work/config/_CronConfig.txt"
,
"originalPath"
:
"work/config/_CronConfig.txt"
,
"currentPath"
:
"work/config/_CronConfig.txt"
,
"currentPath"
:
"work/config/_CronConfig.txt"
,
"hash"
:
"
1e8e88f1aa7f699241bbf7d99bb8fa225443b0bf86d7366a7fa7b1e6d5bde8ac
"
,
"hash"
:
"
5c11b0a57b7cb9981914397ca2c49d10ef10e6802c70caa91fffa53098c1add7
"
,
"docContent"
:
"<p><br></p>"
,
"docContent"
:
"<p><br></p>"
,
"checkedStatus"
:
"done"
,
"checkedStatus"
:
"done"
,
"comments"
:
[],
"comments"
:
[],
"lastCheckedTimestamp"
:
174
6694217163
,
"lastCheckedTimestamp"
:
174
9816820741
,
"lastFileModificationTimestamp"
:
174
6694212093.9915
"lastFileModificationTimestamp"
:
174
9816813585.9177
}
}
.sidekick/database/986eeb57-8634-4f40-a4ea-a2eae9d87e71.json
View file @
5dba92ca
{
{
"fileId"
:
"986eeb57-8634-4f40-a4ea-a2eae9d87e71"
,
"fileId"
:
"986eeb57-8634-4f40-a4ea-a2eae9d87e71"
,
"originalPath"
:
"work/readme.md"
,
"originalPath"
:
"work/readme.md"
,
"currentPath"
:
"work/
readme
.md"
,
"currentPath"
:
"work/
README
.md"
,
"hash"
:
"4d543d075a22bd2b13008dcc7a1cf518a3df29bbf1b1ab516eb69a2df778aaf9"
,
"hash"
:
"4d543d075a22bd2b13008dcc7a1cf518a3df29bbf1b1ab516eb69a2df778aaf9"
,
"docContent"
:
"<p><br></p>"
,
"docContent"
:
"<p><br></p>"
,
"checkedStatus"
:
"done"
,
"checkedStatus"
:
"done"
,
...
...
commands/setStaticOptionPrices.py
0 → 100644
View file @
5dba92ca
import
sys
sys
.
path
.
append
(
".."
)
import
logging
from
sqlalchemy
import
text
from
manager.MysqlManager
import
MysqlManager
# Logging-Konfiguration wie in deiner Vorlage für klare Statusmeldungen.
logging
.
basicConfig
(
level
=
logging
.
INFO
,
format
=
"
%(asctime)
s
%(levelname)
s:
%(message)
s"
)
# Liste aller statischen SQL-Update-Befehle, die ausgeführt werden sollen.
# Die Bedingung "and provision1_opti = 0" stellt sicher, dass jeder Befehl
# nur einmal erfolgreich ausgeführt wird.
sql_updates
=
[
# Kategorie 1: Rabatte auf den Anschlusspreis
'update option_opti set provision1_opti = -8 where providercode_opti = "O3150922" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -33.61 where providercode_opti = "O3150921" and provision1_opti = 0;'
,
# Kategorie 2: Aktionsguthaben
'update option_opti set provision1_opti = -20.17 where providercode_opti = "O3120740" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -20.17 where providercode_opti = "O3120741" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -40.34 where providercode_opti = "O3120743" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -40.34 where providercode_opti = "O3120744" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -50.42 where providercode_opti = "O3132971" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -50.42 where providercode_opti = "O3132972" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -60.50 where providercode_opti = "O3120748" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -60.50 where providercode_opti = "O3120749" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -80.67 where providercode_opti = "O3120753" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -80.67 where providercode_opti = "O3120754" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -100.84 where providercode_opti = "O3120756" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -100.84 where providercode_opti = "O3120757" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -121.01 where providercode_opti = "O3132974" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -121.01 where providercode_opti = "O3132975" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -141.18 where providercode_opti = "O3132977" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -141.18 where providercode_opti = "O3132978" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -161.34 where providercode_opti = "O3132980" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -161.34 where providercode_opti = "O3132981" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -181.51 where providercode_opti = "O3132983" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -181.51 where providercode_opti = "O3132984" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -201.68 where providercode_opti = "O3120759" and provision1_opti = 0;'
,
'update option_opti set provision1_opti = -201.68 where providercode_opti = "O3120760" and provision1_opti = 0;'
,
# Kategorie 3: Tarif-Rabatte
'UPDATE option_opti SET provision1_opti = -20 WHERE providercode_opti = "O3357017" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -40 WHERE providercode_opti = "O3357018" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -40 WHERE providercode_opti = "O3708586" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -40 WHERE providercode_opti = "O3708556" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -60 WHERE providercode_opti = "O3357019" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -80 WHERE providercode_opti = "O3357020" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -100 WHERE providercode_opti = "O3708583" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -100 WHERE providercode_opti = "O3708553" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -100 WHERE providercode_opti = "O3357021" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -120 WHERE providercode_opti = "O3357022" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -140 WHERE providercode_opti = "O3357023" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -140 WHERE providercode_opti = "O3708580" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -140 WHERE providercode_opti = "O3708550" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -160 WHERE providercode_opti = "O3357024" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -180 WHERE providercode_opti = "O3357025" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -200 WHERE providercode_opti = "O3708577" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -200 WHERE providercode_opti = "O3357026" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -200 WHERE providercode_opti = "O3708547" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -240 WHERE providercode_opti = "O3708574" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -240 WHERE providercode_opti = "O3708544" AND provision1_opti = 0;'
,
# Kategorie 4: Cashback
'UPDATE option_opti SET provision1_opti = -35 WHERE providercode_opti = "O3501314" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -45 WHERE providercode_opti = "O3501311" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -75 WHERE providercode_opti = "O3501308" AND provision1_opti = 0;'
,
'UPDATE option_opti SET provision1_opti = -90 WHERE providercode_opti = "O3501305" AND provision1_opti = 0;'
]
# Die Variable “mysql” stellt die Verbindung zur Datenbank her.
mysql
=
MysqlManager
()
# Die Variable “session” holt die SQLAlchemy-Session für alle Datenbankoperationen.
session
=
mysql
.
getSession
()
logging
.
info
(
"Starte statische Provisions-Updates..."
)
updated_count
=
0
total_count
=
len
(
sql_updates
)
try
:
# Schleife durch alle SQL-Befehle und führe sie einzeln aus.
for
i
,
query
in
enumerate
(
sql_updates
):
# session.execute() mit text() ist der Standardweg, um Raw SQL sicher auszuführen.
result
=
session
.
execute
(
text
(
query
))
# result.rowcount gibt an, wie viele Zeilen vom UPDATE betroffen waren.
# Dies ist nützlich für das Logging, um zu sehen, ob eine Änderung stattgefunden hat.
if
result
.
rowcount
>
0
:
updated_count
+=
result
.
rowcount
logging
.
info
(
f
"Query {i+1}/{total_count}: {result.rowcount} Zeile(n) aktualisiert."
)
# Wenn alle Befehle ohne Fehler durchgelaufen sind, werden die Änderungen committed.
session
.
commit
()
logging
.
info
(
f
"Alle {total_count} Updates erfolgreich verarbeitet. Insgesamt wurden {updated_count} Zeilen geändert."
)
except
Exception
as
e
:
# Bei einem Fehler wird die gesamte Transaktion zurückgerollt, um inkonsistente Daten zu vermeiden.
logging
.
error
(
f
"Ein Fehler ist aufgetreten: {e}"
)
logging
.
error
(
"Die Transaktion wird zurückgerollt (Rollback)."
)
session
.
rollback
()
finally
:
# Die Session wird in jedem Fall geschlossen, um die Verbindung freizugeben.
session
.
close
()
logging
.
info
(
"Datenbank-Session geschlossen."
)
\ No newline at end of file
config/MysqlConfig.py
View file @
5dba92ca
...
@@ -4,7 +4,7 @@ MYSQL_PASSWORD = "floz09sx3dTyx144gy"
...
@@ -4,7 +4,7 @@ MYSQL_PASSWORD = "floz09sx3dTyx144gy"
MYSQL_DATABASE
=
"itmax_tarifs"
MYSQL_DATABASE
=
"itmax_tarifs"
MYSQL_PORT
=
3306
MYSQL_PORT
=
3306
USE_SSH_TUNNEL
=
Fals
e
USE_SSH_TUNNEL
=
Tru
e
SSH_HOST
=
"jumphost.bugsmasher.online"
SSH_HOST
=
"jumphost.bugsmasher.online"
SSH_PORT
=
22
SSH_PORT
=
22
SSH_USERNAME
=
"root"
SSH_USERNAME
=
"root"
...
...
config/_CronConfig.txt
View file @
5dba92ca
...
@@ -9,3 +9,6 @@
...
@@ -9,3 +9,6 @@
# STEP 4 - GENERATE TARIF-DETAILS WITH GPT
# STEP 4 - GENERATE TARIF-DETAILS WITH GPT
0 5 * * * /maui/cron.sh calculateTarifDetailsWithGpt.py
0 5 * * * /maui/cron.sh calculateTarifDetailsWithGpt.py
# STEP 5 - STATIC LINK OPTION PRICES WITH GPT
30 5 * * * /maui/cron.sh setStaticOptionPrices.py
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment