summaryrefslogtreecommitdiffstats
path: root/scribus/plugins/scriptplugin/samples/Calender.py
diff options
context:
space:
mode:
Diffstat (limited to 'scribus/plugins/scriptplugin/samples/Calender.py')
-rw-r--r--scribus/plugins/scriptplugin/samples/Calender.py75
1 files changed, 75 insertions, 0 deletions
diff --git a/scribus/plugins/scriptplugin/samples/Calender.py b/scribus/plugins/scriptplugin/samples/Calender.py
new file mode 100644
index 0000000..2d80546
--- /dev/null
+++ b/scribus/plugins/scriptplugin/samples/Calender.py
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+""" This Script creates a Calendar Sheet for the Current Month """
+
+import sys
+
+try:
+ from scribus import *
+except ImportError:
+ print "This script only runs from within Scribus."
+ sys.exit(1)
+
+import calendar
+import time
+
+def main():
+ Month = time.localtime()[1]
+ Year = time.localtime()[0]
+ Objects = []
+ MonthList = ["January","February","March","April","May","June","July","August","September","October","November","December"]
+ DaysList = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]
+ Xcoor = 10
+ Ycoor = 30
+ DayC = 0
+ Calend = calendar.monthcalendar(Year, Month)
+ ob = createText(10, 10, 245, 20)
+ Title = MonthList[Month-1] + " " + str(Year)
+ setText(Title, ob)
+ Objects.append(ob)
+ for lx in range(45, 245, 35):
+ ob = createLine(lx, 30, lx, 20*len(Calend)+50)
+ Objects.append(ob)
+ for ly in range(50, 20*len(Calend)+50, 20):
+ ob = createLine(10, ly, 255, ly)
+ Objects.append(ob)
+ ob = createRect(10, 30, 245, 20*len(Calend)+20)
+ setFillColor("None", ob)
+ Objects.append(ob)
+ for day in range(7):
+ ob = createText(Xcoor, Ycoor, 35, 20)
+ setTextAlignment(ALIGN_CENTERED, ob)
+ setFontSize(12, ob)
+ if day == 6:
+ setTextColor("Red", ob)
+ setText(DaysList[day], ob)
+ Objects.append(ob)
+ Xcoor = Xcoor + 35
+ Ycoor = Ycoor + 20
+ for lines in Calend:
+ Xcoor = 10
+ DayC = 0
+ for rows in lines:
+ if rows != 0:
+ ob = createText(Xcoor, Ycoor, 35, 20)
+ setTextAlignment(ALIGN_CENTERED, ob)
+ if DayC == 6:
+ setTextColor("Red", ob)
+ setText(str(rows), ob)
+ Objects.append(ob)
+ Xcoor = Xcoor + 35
+ DayC = DayC + 1
+ Ycoor = Ycoor + 20
+ groupObjects(Objects)
+
+if __name__ == '__main__':
+ if haveDoc():
+ try:
+ setRedraw(False)
+ main()
+ finally:
+ setRedraw(True)
+ redrawAll()
+ else:
+ messageBox("Calendar Script", "Please run this script with a document open.", ICON_INFORMATION);