From: Nicolas B. <nbo...@nb...> - 2005-03-04 17:46:41
|
Hi all, I'm quite new to gramps, tried it a bit and used it to create a database of my family. I think this soft is quite good, kuddos to you all... I thought to myself that maybe you are looking for new developpers to bugfix/fiddle with the code... Is there a TODO list somewhere ? A coding policy ? Thanks, Nicolas |
From: Don A. <don...@co...> - 2005-03-04 18:31:26
|
Nicolas Bouthors wrote: > Hi all, > > I'm quite new to gramps, tried it a bit and used it to create a database > of my family. I think this soft is quite good, kuddos to you all... > > I thought to myself that maybe you are looking for new developpers to > bugfix/fiddle with the code... Is there a TODO list somewhere ? A > coding policy ? > > Thanks, > Nicolas > New developers are always welcome. Right now we are in the transition from 1.0.X to 2.0, which involves an underlying API change. The best way to get started is usually to attempt to write a report generator. Writing a report will get you familiar with using the code. We have several examples in the source tree under the src/plugins directory, and we have a tutorial for the 2.0 API at http://gramps.sourceforge.net/wiki/index.php/ReportTutorial, along with a brief overview of using the database API at http://gramps.sourceforge.net/wiki/index.php/UsingTheDatabase Another option would be to look at the bug list at SourceForge (http://sf.net/projects/gramps), but you might want to be familiar with the database before tackling this. One task on the list for 2.0 which we haven't tackled yet is Source merging - combining a two sources into the same source. We do this for people (which still needs to be debugged in 2.0) and places. Adding sources is something we have not done yet. After the release of 2.0 (which should be a couple of weeks), we'll put together an up to date TODO list. Don |
From: Eero T. <eer...@ne...> - 2005-03-04 19:59:14
Attachments:
FamilyBirthdays.html
|
Hi, On Friday 04 March 2005 20:31, Don Allingham wrote: > Nicolas Bouthors wrote: > > Hi all, > > > > I'm quite new to gramps, tried it a bit and used it to create a > > database of my family. I think this soft is quite good, kuddos to you > > all... > > > > I thought to myself that maybe you are looking for new developpers to > > bugfix/fiddle with the code... Is there a TODO list somewhere ? A > > coding policy ? > > > > Thanks, > > Nicolas > > New developers are always welcome. Right now we are in the transition > from 1.0.X to 2.0, which involves an underlying API change. > > The best way to get started is usually to attempt to write a report > generator. Writing a report will get you familiar with using the code. An often requested report is a Birthday report. There's an external tool that can dig this information out of the Gramps XML database, but a report plugin would be nicer. That way you could e.g. have a birthday list as one of the reports included into a Book report[1]. Some options that this kind of a report could have: - Possibility to select a filter like other reports have - Possibility to add person's age to the reports (maybe optionally only for persons below certain age so that you get a postcard with right age for a child :))). Don has added a function to ReportUtils.py (Gramps 2.0) for calculating person's age... - Possibility to split the birthdays per month and possibly presented like a calendar (maybe in Gramps 2.1... :)). The report should of course include only people who are alive. It could look something like in the attachment. - Eero [1] Either you could send the same Book report to everybody interested, or if the number of receivers is not large, you could change the central person for the book and generate a personalized Book report for each of the receivers. Automating making of personalized reports would be nice too... :-) |
From: Frode J. <fro...@sk...> - 2005-04-07 06:24:26
Attachments:
birthday_calendar.py
|
fredag 4. mars 2005, 21:12, skrev Eero Tamminen: > Hi > An often requested report is a Birthday report. There's an external tool > that can dig this information out of the Gramps XML database, but a report > plugin would be nicer. That way you could e.g. have a birthday list as one > of the reports included into a Book report[1]. > > Some options that this kind of a report could have: > - Possibility to select a filter like other reports have > - Possibility to add person's age to the reports (maybe optionally > only for persons below certain age so that you get a postcard with > right age for a child :))). Don has added a function to ReportUtils.py > (Gramps 2.0) for calculating person's age... > - Possibility to split the birthdays per month and possibly > presented like a calendar (maybe in Gramps 2.1... :)). > The report should of course include only people who are alive. > It could look something like in the attachment. Hi all. I have tried to create a birthday calendar. This is my first test on creating a report for Gramps, and my first test of Python, so if you see any thing that can be improved, please tell me. I have some issues with this report, but it now seems to be possible to show to the public, so I can get feedback on what is good, and what is not. When I'm looking through the list from Eero, there is some short comings in this version. It includes non living people, and the output is just a long listing. This should be much more configurable in later versions. I have developed this report against the HEAD version. Problems I'm aware of is: * The fonts in the pdf are vertically "floating" into eachothers. * If the filter that are chosen returns no one, you will get a traceback, and the report will not be created. * Missing a "include living only" check box. * Missing a "include all" checkbox, if someone wants everyone from the filter in the report, even people without a birth date and birth year. * How can we create a calendar that can be nice to look at, when we include 10 persons, and when we include 1000 persons...... -- -Frode I did this 'cause Linux gives me a woody. It doesn't generate revenue. (Dave '-ddt->` Taylor, announcing DOOM for Linux) Petition for "World of Warcraft" on Linux: http://www.blizzpub.net/petition/ |
From: Eero T. <eer...@ne...> - 2005-04-07 20:44:06
|
Hi, > > An often requested report is a Birthday report. There's an external > > tool that can dig this information out of the Gramps XML database, but > > a report plugin would be nicer. That way you could e.g. have a > > birthday list as one of the reports included into a Book report[1]. > > > > Some options that this kind of a report could have: > > - Possibility to select a filter like other reports have > > - Possibility to add person's age to the reports (maybe optionally > > only for persons below certain age so that you get a postcard with > > right age for a child :))). Don has added a function to > > ReportUtils.py (Gramps 2.0) for calculating person's age... > > - Possibility to split the birthdays per month and possibly > > presented like a calendar (maybe in Gramps 2.1... :)). > > The report should of course include only people who are alive. > > It could look something like in the attachment. > > Hi all. > > I have tried to create a birthday calendar. This is my first test on > creating a report for Gramps, and my first test of Python, so if you see > any thing that can be improved, please tell me. You have code like this: if this_month == "01": self.doc.start_paragraph("DBS-Month") self.doc.write_text(_("January:")) self.doc.end_paragraph() elif this_month == "02": self.doc.start_paragraph("DBS-Month") self.doc.write_text(_("February:")) self.doc.end_paragraph() ... The code could be quite a bit shorter if the whole if/elif things is replaced with a dictionary and one lookup, like this: months = { "01": _("January"), "02": _("February"), ... } self.doc.start_paragraph("DBS-Month") self.doc.write_text(months[this_month]) self.doc.end_paragraph() (dictionaries, hashes etc. are a nice thing in Python, Perl, Php etc. :-)) > I have some issues with this report, but it now seems to be possible to > show to the public, so I can get feedback on what is good, and what is > not. > > When I'm looking through the list from Eero, there is some short comings > in this version. It includes non living people, and the output is just a > long listing. This should be much more configurable in later versions. > > I have developed this report against the HEAD version. > > Problems I'm aware of is: > * The fonts in the pdf are vertically "floating" into eachothers. With the normal PDF output option, or the "save as PDF" behind the print output option? I have had some problems with text widths on some Gramps document backends too (OpenOffice if I remember right). > * If the filter that are chosen returns no one, you will get a traceback, > and the report will not be created. > * Missing a "include living only" check box. I think this could be the default and the option named as "Include also dead people". > * Missing a "include all" checkbox, if someone wants everyone from the > filter in the report, even people without a birth date and birth year. You mean people with only the birth month information? > * How can we create a calendar that can be nice to look at, when we > include 10 persons, and when we include 1000 persons...... You need to go through all the people anyway to be able to sort them according to the birth date. So... Maybe the code could decide based on the number of people how it outputs the calendar. I mean, only with a few people it could split people by months: --------------------------------- ===January=== 1. Some person 12. Other person 27. Third person -------------------------------- And with more people also by month days: -------------------------------- ===January=== 1................................. Person One Person Two 2................................. Person Three 3................................. Person Four Person Five Person Six ------------------------------- (where '===' and "..." could be e.g. differently colored thick lines to liven up the calendar :)) If you need to do page breaks, it would be good to output the month name to the beginning of each page. To differentiate it from the month start page, you could justify the month name differently (e.g. to the right). If there are so many people that most months would occupy more than half a page, it would be good to do a page break after each month. - Eero |
From: Frode J. <fro...@sk...> - 2005-03-05 18:54:52
|
fredag 4. mars 2005, 19:31, skrev Don Allingham: > <SNIP> > We have several examples in the source tree under the src/plugins > directory, and we have a tutorial for the 2.0 API at > http://gramps.sourceforge.net/wiki/index.php/ReportTutorial I looked through this, and when I downloaded this file, it didn't initializ= e=20 correct when I started 1.1.90. (Tried it with 1.0.10, but then I get a err= or=20 about missing module ReportOptions.) One line in the tutorial, and in the file that we can download is like this: "from Plugins import register_report" When I start GRAMPS, I get a error saying: "ImportError: cannot import name register_report" Changing the line in the file from Plugins to PluginMgr like this: "from PluginMgr import register_report" , fixes this problem. Is this an error in the tutorial, or am I doing something wrong ? =2D-=20 =2DFrode The world is coming to an end ... SAVE YOUR BUFFERS!!! Petition for a Software Patent Free Europe: http://petition.eurolinux.org/ Petition for "World of Warcraft" on Linux: http://www.blizzpub.net/petition/ |
From: Don A. <don...@co...> - 2005-03-05 19:06:24
|
Well, 2.0 development was moving pretty fast, and chances are we changed something. I'll look at this today and bring it back up to where it should be. The API is stable now, so once I upgrade the tutorial, the tutorial should remain stable. Don On Sat, 2005-03-05 at 19:52 +0100, Frode Jemtland wrote: > fredag 4. mars 2005, 19:31, skrev Don Allingham: > > <SNIP> > > We have several examples in the source tree under the src/plugins > > directory, and we have a tutorial for the 2.0 API at > > http://gramps.sourceforge.net/wiki/index.php/ReportTutorial > > I looked through this, and when I downloaded this file, it didn't initialize > correct when I started 1.1.90. (Tried it with 1.0.10, but then I get a error > about missing module ReportOptions.) > > One line in the tutorial, and in the file that we can download is like this: > "from Plugins import register_report" > > When I start GRAMPS, I get a error saying: > "ImportError: cannot import name register_report" > > Changing the line in the file from Plugins to PluginMgr like this: > "from PluginMgr import register_report" > , fixes this problem. > > Is this an error in the tutorial, or am I doing something wrong ? > -- Don Allingham <don...@co...> |
From: Frode J. <fro...@sk...> - 2005-03-05 21:00:52
|
l=C3=B8rdag 5. mars 2005, 20:06, skrev Don Allingham: > Well, 2.0 development was moving pretty fast, and chances are we changed > something. I'll look at this today and bring it back up to where it > should be. > > The API is stable now, so once I upgrade the tutorial, the tutorial > should remain stable. Great. I'm trying to learn a little bit more about how to create reports, and I'm= =20 having problems.=20 I'm trying to run the report in the tutorial, but when I hit the OK button = in=20 the "Database Summary Report", I get a error. The strange thing is that I g= et=20 different errors when I'm running Gramps with different LANG values.=20 =2D--------------------------- Running in no_NO.UTF-8: =2D--------------------------- Det har oppst=C3=A5tt en intern feil i GRAMPS. Vennligst kopier feilmeldingen under og send en feil rapport p=C3=A5 http://sourceforge.net/projects/gramps, eller send en=20 e-post til gra...@li... GRAMPS : 1.1.90-1 LANG : no_NO.UTF-8 Python : 2.3.5 final GTK : 2.6.2 PyGTK : 2.4.1 OS : 3.1 Traceback (most recent call last): File "/usr/share/gramps/Report.py", line 1764, in report MyReport =3D report_class(dialog.db,dialog.person,dialog.options) File "/home/frode/.gramps/plugins/DbSummary.py", line 80, in __init__ Report.Report.__init__(self, database, person, options_class) File "/usr/share/gramps/Report.py", line 213, in __init__ self.doc.creator(creator) AttributeError: 'NoneType' object has no attribute 'creator' =2D-------------------------- Running en_US.UTF-8 (or en_US.iso88591): =2D-------------------------- GRAMPS has encountered an internal error. Please copy the message below and post a bug report at http://sourceforge.net/projects/gramps or send an email message to gra...@li... GRAMPS : 1.1.90-1 LANG : en_US.UTF-8 Python : 2.3.5 final GTK : 2.6.2 PyGTK : 2.4.1 OS : 3.1 Traceback (most recent call last): File "/usr/share/gramps/Report.py", line 1767, in report MyReport.write_report() File "/home/frode/.gramps/plugins/DbSummary.py", line 96, in write_report if person.get_gender() =3D=3D RelLib.Person.male: AttributeError: class Person has no attribute 'male' =2D-=20 =2DFrode Congratulations! You are the one-millionth user to log into our system. If there's anything special we can do for you, anything at all, don't hesitate to ask! Petition for a Software Patent Free Europe: http://petition.eurolinux.org/ Petition for "World of Warcraft" on Linux: http://www.blizzpub.net/petition/ |
From: Frode J. <fro...@sk...> - 2005-03-05 23:24:17
|
> On Fri, 2002-01-25 06:55, Don Allingham wrote: > > On Tue, 2002-01-22 at 20:08, James A. Treacy wrote: > > Although the response times on this list are quite good, it can"t beat > > IRC. Is there a channel for gramps? > > No, there is no IRC channel for gramps yet. To be honest, I"ve never > used IRC before. If someone knows how to setup up a channel, and would > like to teach this old dog a new trick, I"d be willing to use it. Well, in these last hours I have missed a IRC channel. (I'm struggling with= =20 the Report tutorial).=20 When searching for IRC and Gramps, I found this old mail in the arcives, an= d I=20 just wanted to inform you that I have joined the #gramps channel over at=20 freenode. If anyone else would like to join, her is how. To join, fire up your favorite IRC program. The program should have some ki= nd=20 of connection settings, and there you fill in the servername,=20 irc.freenode.net (or the nearest server:=20 http://freenode.net/irc_servers.shtml), and channel, #gramps, and a nicknam= e.=20 The channel was registerd by FuzzyTheBear. He also is a Gramps user.... I'm going to stay on the channel, but I'm home alone with my son this weeke= nd,=20 so I might be gone/busy. So if I don't respond when you enter, thats the=20 reason.=20 See you there.... =2D-=20 =2DFrode A princess should not be afraid -- not with a brave knight to protect her. -- McCoy, "Shore Leave", stardate 3025.3 Petition for a Software Patent Free Europe: http://petition.eurolinux.org/ Petition for "World of Warcraft" on Linux: http://www.blizzpub.net/petition/ |
From: Don A. <don...@co...> - 2005-03-06 01:19:10
Attachments:
DbSummary.py
|
Frode, I'm attaching an updated DbSummary report that works on my system. The major changes are: 1) RelLib.Person.male and RelLib.Person.female have been changed to RelLib.Person.MALE and RelLib.Person.FEMALE. This change was for consistency, since our other constants are in upper case. 2) The register_report function is now in PluginMgr instead of Plugins. from Plugins import register_report is now: from PluginMgr import register_report This was done so that the UI code would be independent of the plugin management code. This was done to remove GTK and GNOME dependencies from the plugin manager for the Gramps-tk effort. I will update the tutorial later this weekend. Don On Sat, 2005-03-05 at 21:58 +0100, Frode Jemtland wrote: > lørdag 5. mars 2005, 20:06, skrev Don Allingham: > > Well, 2.0 development was moving pretty fast, and chances are we changed > > something. I'll look at this today and bring it back up to where it > > should be. > > > > The API is stable now, so once I upgrade the tutorial, the tutorial > > should remain stable. > > Great. > > I'm trying to learn a little bit more about how to create reports, and I'm > having problems. > > I'm trying to run the report in the tutorial, but when I hit the OK button in > the "Database Summary Report", I get a error. The strange thing is that I get > different errors when I'm running Gramps with different LANG values. > > > ---------------------------- > Running in no_NO.UTF-8: > ---------------------------- > Det har oppstått en intern feil i GRAMPS. > Vennligst kopier feilmeldingen under og send en feil rapport > på http://sourceforge.net/projects/gramps, eller send en > e-post til gra...@li... > > GRAMPS : 1.1.90-1 > LANG : no_NO.UTF-8 > Python : 2.3.5 final > GTK : 2.6.2 > PyGTK : 2.4.1 > OS : 3.1 > > Traceback (most recent call last): > File "/usr/share/gramps/Report.py", line 1764, in report > MyReport = report_class(dialog.db,dialog.person,dialog.options) > File "/home/frode/.gramps/plugins/DbSummary.py", line 80, in __init__ > Report.Report.__init__(self, database, person, options_class) > File "/usr/share/gramps/Report.py", line 213, in __init__ > self.doc.creator(creator) > AttributeError: 'NoneType' object has no attribute 'creator' > > > --------------------------- > Running en_US.UTF-8 (or en_US.iso88591): > --------------------------- > GRAMPS has encountered an internal error. > Please copy the message below and post a bug report > at http://sourceforge.net/projects/gramps or send an > email message to gra...@li... > > GRAMPS : 1.1.90-1 > LANG : en_US.UTF-8 > Python : 2.3.5 final > GTK : 2.6.2 > PyGTK : 2.4.1 > OS : 3.1 > > Traceback (most recent call last): > File "/usr/share/gramps/Report.py", line 1767, in report > MyReport.write_report() > File "/home/frode/.gramps/plugins/DbSummary.py", line 96, in write_report > if person.get_gender() == RelLib.Person.male: > AttributeError: class Person has no attribute 'male' > > > > -- Don Allingham <don...@co...> |
From: Frode J. <fro...@sk...> - 2005-03-06 09:08:49
|
s=C3=B8ndag 6. mars 2005, 02:19, skrev Don Allingham: > Frode, > > I'm attaching an updated DbSummary report that works on my system. The > major changes are: > > 1) RelLib.Person.male and RelLib.Person.female have been changed to > RelLib.Person.MALE and RelLib.Person.FEMALE. This change was for > consistency, since our other constants are in upper case. > > 2) The register_report function is now in PluginMgr instead of Plugins. > > from Plugins import register_report > > is now: > > from PluginMgr import register_report > > This was done so that the UI code would be independent of the plugin > management code. This was done to remove GTK and GNOME dependencies > from the plugin manager for the Gramps-tk effort. > > I will update the tutorial later this weekend. Great. This works as it should, when I run the en_US locale. I still get th= e=20 same error as I mentioned before when I run in no_NO. But now I know it, so= =20 now I can work around that :)=20 Thank you, Don.=20 =2D-=20 =2DFrode Q: What do Winnie the Pooh and John the Baptist have in common? A: The same middle name. Petition for a Software Patent Free Europe: http://petition.eurolinux.org/ Petition for "World of Warcraft" on Linux: http://www.blizzpub.net/petition/ |
From: Eero T. <eer...@ne...> - 2005-04-08 19:24:11
Attachments:
problem.png
|
Hi, > I have tried to create a birthday calendar. This is my first test on > creating a report for Gramps, and my first test of Python, so if you see > any thing that can be improved, please tell me. > > I have some issues with this report, but it now seems to be possible to > show to the public, so I can get feedback on what is good, and what is > not. > > When I'm looking through the list from Eero, there is some short comings > in this version. It includes non living people, and the output is just a > long listing. This should be much more configurable in later versions. > > I have developed this report against the HEAD version. > > Problems I'm aware of is: > * The fonts in the pdf are vertically "floating" into eachothers. I installed latest CVS version of Gramps and tested your plugin. Alex, do you know why this could happen? Screenshot of the output is attached, and code outputting the title and month is this: self.doc.start_paragraph("DBS-Title") self.doc.write_text(_("%s ") % self.title) self.doc.write_text(_("%s") % self.year) self.doc.end_paragraph() ... self.doc.start_paragraph("DBS-Month") self.doc.write_text(_("January:")) self.doc.end_paragraph() The first month overlaps the title although it's supposed to be in a separate paragraph. Btw. I think user could also give the year directly to the title field in the report dialog. If birthday calendar doesn't contain ages for the people, it's not specific to any year. :-) > * If the filter that are chosen returns no one, you will get a traceback, > and the report will not be created. Hm. I had selected "Entire database" and got: ----------------- Traceback (most recent call last): File "/home/eero/garnome/share/gramps/Report.py", line 1767, in report MyReport.write_report() File "/home/eero/.gramps/plugins/birthday_calendar.py", line 228, in write_report for person in date_map[key]: KeyError: '0000' ------------------ However, the report worked with the example database. > * Missing a "include living only" check box. > * Missing a "include all" checkbox, if someone wants everyone from the > filter in the report, even people without a birth date and birth year. > * How can we create a calendar that can be nice to look at, when we > include 10 persons, and when we include 1000 persons...... - Eero |
From: Alex R. <sh...@gr...> - 2005-04-08 20:35:34
|
Frode, Eero, On 04/08/2005 02:38:15 PM, Eero Tamminen wrote: > > > > Problems I'm aware of is: > > * The fonts in the pdf are vertically "floating" into eachothers. >=20 > I installed latest CVS version of Gramps and tested your plugin. >=20 > Alex, do you know why this could happen? >=20 > Screenshot of the output is attached, and code outputting the title and > month is this: > self.doc.start_paragraph("DBS-Title") > self.doc.write_text(_("%s ") % self.title) > self.doc.write_text(_("%s") % self.year) > self.doc.end_paragraph() > ... > self.doc.start_paragraph("DBS-Month") > self.doc.write_text(_("January:")) > self.doc.end_paragraph() >=20 > The first month overlaps the title although it's supposed to be in > a separate paragraph. I will try to take a look this weekend. Sorry, I'm unusually busy these days, but in a few weeks it should clear up, and then I should be more responsive. Alex --=20 Alexander Roitman http://www.gramps-project.org |
From: Alex R. <sh...@gr...> - 2005-04-10 05:28:57
|
On 04/08/2005 02:38:15 PM, Eero Tamminen wrote: >=20 > Screenshot of the output is attached, and code outputting the title and > month is this: > self.doc.start_paragraph("DBS-Title") > self.doc.write_text(_("%s ") % self.title) > self.doc.write_text(_("%s") % self.year) > self.doc.end_paragraph() > ... > self.doc.start_paragraph("DBS-Month") > self.doc.write_text(_("January:")) > self.doc.end_paragraph() >=20 > The first month overlaps the title although it's supposed to be in > a separate paragraph. I have no idea. All other formats behave normally and the code is sane. I noticed though that all other reports set padding of paragraphs to 0.5 cm= , and adding this to the paragraph styles helps here too. Maybe that's the way to go, although it beats me why zero padding actually shows up as negative, effectively :-) In this format, we're not laying out our paragraphs, so most of the problems are probably the ReportLab's fault and maybe warrant bug reports filed against it. > > * If the filter that are chosen returns no one, you will get a tracebac= k, > > and the report will not be created. This could be easily fixed by checking the length of self.plist returned by applying the filter. The empty list indicates that nobody matches, so the rest of the report can be skipped. As a side note, as more code is added, it may be convenient to break pieces off the write_report() method into separate methods, e.g. write_month(), etc. It would make handling the 'no match' problem easier and the whole thing more clear and manageable. Alex --=20 Alexander Roitman http://www.gramps-project.org |