Seite 3 von 4
Re: Foto Monatkskalender
Verfasst: Do 22. Sep 2016, 19:43
von Julius
newdesigner hat geschrieben:Dein link oben für die Feiertage zeigt ja immer die Feiertage die sich quasi aus Ostersonntag ableiten, aber woher kann man den ollen Ostersonntag nehmen ? bzw. berechnen ?
Darüber haben sich bereits
andere Leute Gedanken gemacht.
Beispiel-Code:
Code: Alles auswählen
# -*- coding: utf-8 -*-
#Quelle der Funktion: http://www.hib-wien.at/leute/wurban/mathematik/Ostern/Osterdatum.html
def ostern_greg(jahr):
a = jahr%19
b,c = divmod(jahr,100)
d,e = divmod(b,4)
f = (b+8)/25
g = (b-f+1)/3
h = (19*a+b-d-g+15)%30
i,k = divmod(c,4)
l = (32+2*e+2*i-h-k)%7
m = (a+11*h+22*l)/451
mon,tag = divmod(h+l-7*m+114,31)
return (mon,tag+1)
year = 2010
end = 2025
while year <= end:
day = ostern_greg(year)
print("Ostern fällt "+str(year)+" auf den "+str(day[1]).zfill(2)+"."+str(day[0]).zfill(2)+".")
year = year + 1
… ergibt:
Ostern fällt
2010 auf den
04.04.
Ostern fällt
2011 auf den
24.04.
Ostern fällt
2012 auf den
08.04.
Ostern fällt
2013 auf den
31.03.
Ostern fällt
2014 auf den
20.04.
Ostern fällt
2015 auf den
05.04.
Ostern fällt
2016 auf den
27.03.
Ostern fällt
2017 auf den
16.04.
Ostern fällt
2018 auf den
01.04.
Ostern fällt
2019 auf den
21.04.
Ostern fällt
2020 auf den
12.04.
Ostern fällt
2021 auf den
04.04.
Ostern fällt
2022 auf den
17.04.
Ostern fällt
2023 auf den
09.04.
Ostern fällt
2024 auf den
31.03.
Ostern fällt
2025 auf den
20.04.
Ist also kein Hexenwerk, dass einzubauen.
Gruß
Julius
Re: Foto Monatkskalender
Verfasst: Fr 23. Sep 2016, 11:33
von newdesigner
Hi Julius,
das sieht zwar gut aus, aber die Feiertage kann ich auch problemlos per Hand machen (sind ja nicht so viele).
Da könnte ich mich auch mal selbst noch an nem script probieren oder das erweitern.
Wichtig wäre das andere lauffähig zu bekommen
Allerdings wäre das wohl mein erster Python versuch
Reicht dir meine Template/Dok oben ? Um das mit Musterseite und Absatzstilen zu machen ?
Wenn du da was anfängst würde ich auch probieren das zu ergänzen.
Re: Foto Monatkskalender
Verfasst: Do 29. Sep 2016, 13:53
von newdesigner
Also ich bräuchte irgendwie nen Tipp, ich bekomme den Style nicht zugewiesen zu dem aktuellen Textrahmen.
Ich hänge das abgeänderte Skript mal an.
Die auskommentierten Punkte hab ich nie zum laufen bekommen ?
Auszug
Code: Alles auswählen
# scribus.setTextAlignment(ALIGN_CENTERED, frame_name2)
der Befehlt um den Text vertikal zu zentrieren - gibt es den ?
# scribus.selectObject(frame_name1)
# scribus.setStyle('SoFeName')
scribus.setTextColor('Blue', frame_name2)
# scribus.setStyle(paragraph4style, frame_name2)
Re: Foto Monatkskalender
Verfasst: Fr 30. Sep 2016, 18:24
von Julius
Hallo Dirk,
ich kann auf den ersten Blick keinen Fehler in dem von dir gezeigten Ausschnitt entdecken. Am besten ist es in solchen Fällen immer, ein kompaktes Beispiel (ein Textrahmen, ein Stil) nur mit dieser einen Funktion (hier: Stile anwenden) zu bauen und dort auf Fehlersuche zu gehen und es erst dann ins große Ganze einzubauen.
Das mit dem vertikalen zentrieren sollte in 1.5 gehen, ich weiß aber nicht, ob man das auch vom Scripter aus ansprechen kann, weil der derzeitige Scripter gegen einen neueren, moderneren ausgetauscht werden soll (also evtl. in den alten keine neuen Funktionen mehr eingebaut werden).
Ausrichtung und Farbe würde ich bevorzugt über einen Stil regeln...
Ich bin mit dem Kalenderscript etwas weiter gekommen: Es werden jetzt pro Monat eine neue Seite erzeugt und darauf die Musterseite angewendet, aber weiter bin ich mangels Zeit nicht gekommen; ich hoffe, dass ich nächste Woche weiter komme.
Gruß
Julius
Re: Foto Monatkskalender
Verfasst: Sa 1. Okt 2016, 08:39
von newdesigner
Hallo Julius,
danke - die oben auskommentierten Befehle haben leider immer zu einem Fehler geführt.
Da ich mit Phyton leider nix gemacht habe und auch nicht weiss wie das zu debuggen geht , hab ich leider keine Idee.
Ich werde das aber in einem leeren aufgeräumten Dokument mit einer Musterseite und nur den Stilen am Wochenende nochmal probieren.
Falls das nicht klappt, warte ich mal auf deine Erweiterung des Skripts, dachte ich komme vielleicht auch so etwas weiter.
Re: Foto Monatkskalender
Verfasst: Fr 7. Okt 2016, 09:48
von Julius
Hallo Dirk,
das meinte ich mit einem minimalen, funktionsfähigen Beispiel (Script und sla im Anhang):
Code: Alles auswählen
# -*- coding: utf-8 -*-
import scribus
frame_name1 = 'Text1'
frame_name2 = 'Text2'
paragraph4style = 'AndererStil'
scribus.selectObject(frame_name1)
scribus.setStyle('SoFeName')
# vor ALIGN_CENTERED muss scribus. stehen, weil ALIGN_CENTERED eine Konstante des Moduls „scribus“ ist:
scribus.setTextAlignment(scribus.ALIGN_CENTERED, frame_name2)
scribus.setStyle(paragraph4style, frame_name2)
# Muss nach setStyle kommen, weil Stil (evtl. andere Farbe) das Blau durch seine eigene Farbe ersetzt:
scribus.setTextColor('Blue', frame_name2)
scribus.deselectAll()
Auf diese Vorgehensweise habe ich auch schon ein paar Probleme im Kalenderscript gelöst, ich bin aber noch nicht fertig...
Gruß
Julius
Re: Foto Monatkskalender
Verfasst: Fr 7. Okt 2016, 10:10
von newdesigner
Hallo Julius,
danke für die Info - jetzt hab ich es kapiert. Probiere auch mal noch bissl.
Re: Foto Monatkskalender
Verfasst: Mi 19. Okt 2016, 08:23
von newdesigner
Hi Julius,
also dein Testskript mit dem zuweisen funktioniert ja in der Testdatei.
Ich habe versucht das in das Kalenderskript zu übernehmen aber scheitere immer noch daran, daß ich einem frameX wo gerade erstellt wurde und schon etwas enthält, nicht einen Style oder das Alignment zuweisen kann ?
Bist du da schon vorangekommen ? Sonst würde ich das langsam doch mal per Hand machen.
Interessanterweise geht das zuweisen von SoFeName und SoFeTag - kapier nicht wo der Unterschied ist.
das geht nicht
Code: Alles auswählen
if day[0] != 0:
frame_name1 = scribus.createText(x_pos, y_pos, xlen, ylen)
scribus.setText(day_names[day[1]], frame_name1)
# scribus.setStyle(paragraph1style, frame_name1)
das hier geht
Code: Alles auswählen
if day[1] == 6:
# scribus.selectObject(frame_name1)
scribus.setStyle(paragraph3style, frame_name1)
scribus.setStyle(paragraph4style, frame_name2)
Irgendwie steh ich da komplett auf dem Schlauch ?
Re: Foto Monatkskalender
Verfasst: Do 20. Okt 2016, 11:19
von newdesigner
Hi Julius,
also ich hab den Fehler gefunden, da ist so ein Mist, daß die Einrückungen mal n Tab, bzw. Leerzeichen waren und daher ging das alles nicht so wie gewollt
Ich hab nun fast alles schon mal hinbekommen, wenn du mir noch folgendes verraten könnest:
- Objekt aus Bibliothek einfügen - dann kommen die Monate auch noch an die korrekte Position
Den Rest hab ich mal soweit fertig gemacht - vielen Dank dir
Hier für die anderen zum selbst probieren / bauen
Re: Foto Monatkskalender
Verfasst: Di 25. Okt 2016, 23:09
von Julius
Hallo Dirk,
newdesigner hat geschrieben:- Objekt aus Bibliothek einfügen - dann kommen die Monate auch noch an die korrekte Position

Wenn mich nicht alles täuscht, kann ein Script keine Objekte aus eine Bibliothek einfügen. Allerdings müsste das Verhalten des Monat-Felds sich simulieren lassen, wenn du einen Textrahmen an der passenden Stelle erstellst, ihn per
rotateObjectAbs(rot, [name]) drehst (
rot ist die Rotation in Grad, wie sie auch in der Eigenschaften-Palette von Scribus auftaucht) und mit
setStyle den entsprechenden Stil zuweist.
Gruß
Julius