In the Jesus Fellowship Church we celebrate seven 'Victories' - moments of spiritual significance for the people who join us.
The Seven Victories are :
Making Covenant - Joining the Church
Brotherhood - 3 months after making covenant
Discipleship - 6 months after making covenant
Endurance - 9 months after making covenant
Fruitfulness - 12 months after making covenant
Making covenant is usually done at an agape meal (family meal of the Church Household the person is joining) on a Tuesday night. The four Victories after that, brotherhood to fruitfulness, are also celebrated at an agape meal and are a celebration of the members continued commitment and spiritual growth.
Obviously, there is a problem of adminstrating this so that no-one gets forgotten. Any automated system has to correctly calculate the nearest Tuesday three months after covenant, six months after, and so on...
Victory Day Software is a program that records the date people take covenant (plus household and shepherd and any other information you want to save). You can then either save off the victory days for an individual member, or produce a list of all the victory days on each Tuesday. Member information can also be edited or deleted. All through a lovely user interface :-)
If you're not a member of the Jesus Fellowship it's still possible that this program might be of interest as an example of how to code a basic GUI using Tkinter, and handle dates in python.
If you're reading this then you probably already have the Victory Day program. If not then you can download it from the Victory Day Home Page. If you want it for a Windoze machine then you need the 'executable zip'. If you are going to use it on any other machine you will need the Python source code and possibly a version of Python. It ought to work fine on Linux, the Mac and a whole host of other machines - but if you need help then please contact me.
Once you've got it installed you run it simply by double clicking on either Victoryday.exe or victoryday.py..... nice and simple. The main window should then flick up - in actual fact quite a small window with the title 'Victory' - and the following options :
The datafile will automatically be loaded - the example one has just one member. It's actually very easy to use, all the options pretty much do what they say !
If you click on 'Edit Member' you'll be given a list of existing members - double click on the one you want to edit and it will bring up all the details of that member. This is now the same window that comes up if you select 'New Member' - except then the details would all be blank.
Enter any details you want, using tab to move from one entrybox to the next. The only details you *must* fill in are the name and the date of covenant.
As soon as you hit enter then Victory will check that all the details are correct. If the date is impossible (like February the 30th) or you haven't entered a name then Victory will complain. If the date is a real date, but not a Tuesday, Victory will offer to change it to the nearest Tuesday for you. Once you have the details correct then hitting enter will display all the Victory days in the little box ! You can then save the details by hitting save and you'll be taken back to the main window. If you try to quit before you've saved the details then Victory will warn you, but won't stop you if you really want to.....
Once you have entered all your current members then you're ready to produce a Victory Day List. Hit the button marked 'Produce List' and Victory will ask you what date you want to start the list from and how many weeks the list should be for. Again if the date you enter is invalid, or the number of weeks silly, Victory will complain and if the date you enter isn't a Tuesday then Victory will suggest replacing it with the nearest one. Hit enter and you'll see all the Victory Days and their dates appear - hit save and Victory will ask you where you want to save the list. You can then load it into a program like notepad or word to print it out if you need to. (Unfortunately at the moment I don't *think* the printing function works...).
When you've saved the list you'll be brought back to the main window again. If you want to save what you've done then you *must* hit the save button here. If you try to quit without saving then Victory will warn you - but it won't stop you if you insist. If you do remember to save what you've done then next time you run Victory it will automatically load all your members for you - and you can add new ones, edit the ones you already have or even delete members if you really want to.... That's pretty much all there is to it. For a more detailed explanation of all the options - see the sections below.
The Main Window
As we saw in the getting started section, this window is actually quite small. It's main job is to give you access to the following options :
When you run Victory, first your datafile is loaded, and then this window is opened up. After you've done anything like adding a member, deleting one or producing a list then you'll be brought back here. It's worth noting that any changes you make aren't finally saved until you choose the save option from this window. Also, don't tamper with the 'victorydata.dat' file in the victory directory. If you do then you risk losing all your data. (From time to time you might want to make a backup of it - all the information is saved in this one file).
Other than the main window, this is probably the window you'll be using most frequently. Thankfully it's very straightforward.
This window asks you for several pieces of information about the new member, has a space to show you the Victory days and also gives you three options - Save, Print, and Quit.
If the cursor isn't flashing in the white box next to 'Name :' then put the mouse over it and click. You can then move from one 'entrybox' to another by pressing the TAB key. Hit enter when you have put in all the details you want. The only information that Victory insists you supply is the name of the member and the date they take covenant - the other boxes 'Household, 'Shepherd' and 'Comment' are optional and can be used if they're helpful or safely ignored.
As soon as you hit enter then Victory will check that all the details are correct. If the date is impossible (like February the 30th) or you haven't entered a name then Victory will complain. If the date is a real date, but not a Tuesday, Victory will offer to change it to the nearest Tuesday for you. Once you have the details correct then hitting enter will display all the Victory days in the little box !
When you have entered the details then you should leave this window by choosing the Save button. If you decide you don't really want to enter a member now then you can hit quit.... and when you confirm you really do want to quit (by hitting ok) - everything you've done will vanish.
The print option will eventually allow you to save or print the details and victory days of this individual member. I haven't implemented this yet - in the meantime you can just select and copy the victory days from the window where they're displayed.
This option brings up a list of all your members. Double click on the one you want to delete and Victory will ask you if you're really sure ! If you click on ok then the member will be deleted from your list - although the change isn't made permanent until you save your changes from the main window.
If you choose edit member, you'll again be given a list of all your members. Double click on the one you want to edit and a window looking remarkably similar to the Add New Member window will appear. In actual fact it *is* identical to the add member window, but this time all the existing details for this member should be filled in. You can go through (using tab to jump from box to box) editing any details you want to change. This window behaves exactly like the Add New Member window, so I won't bother to repeat all the details here.
This is arguably the most important important window in Victory Day Software. The main functon of Victory is being able to produce a list, Tuesday by Tuesday, of who has what victories.
When you open up this window it will ask you what date do you want to start the list on, and how many weks do you want the list to include. It automatically puts the next Tuesday in the date box and suggests 12 weeks for the list length - but it will allow you to produce lists for the past or future and lists of up to a year in length. The reason I have set it to default to 12 is that if you have someone take covenant - their first victory day will be in three months time. Approximetely 12 weeks. This means that you can be sure that the Victory Day list for the next three months is accurate - any longer than that and it could change.
Once you've chosen the date and list length hit enter, and you'll see the victory day list appear in the box. The best thing to do with it is to hit the save button. This brings up a normal windows dialog asking where you want to save it. Unfortuantely the print option doesn't work on my machine (although it *might* on yours - especially if yours is a UNIX type machine) - so load the saved file into a program like Word or notepad and print it from there.
About, Save and Quit
So long as you have a properly installed browser program (like Internet Explorer or Mozilla), then hitting the About button ought to bring up this file.
Victory will only save changes you've made (adding members, deleting members, editing members) when you hit this Save button.
Once you've finished with Victory, you can exit by the close icon in the top right corner of the main window or by choosing this Quit button. If you've saved any changes you've made then Victory will close down without fuss - if you made changes and NOT saved them then Victory will ask you if you're sure you want to quit. To save your data, choose cancel, then hit the save button and then you're free to quit....
email : michael AT foord DOT me DOT uk
This program is intended for use by members of the Jesus Fellowship to help administrate Victory Days. The program (and it's Python source code) is available for non-commercial use by anyone who might want it, without fee. No warranty as to it's correctness, fitness for purpose or anything else is made - use at your own risk :-)
The home page for this program - where it can be downloaded from and any news/updates can be found - is Victory Day Home Page.
Any python modules arising out of the project (like dateutils that deals with the dates) will be available at the Python-Utils Home Page. If you want to be kept up to date about changes and improvements to Victory Day Software then send me an e-mail, alternatively if you have any questions or comments (or bug reports) feel free to contact me - Michael Foord.
(If you let me know any places you use my scripts I can include a link back to you as examples).