From a82d5b86092f3da297c398c32d2b0475f48d74b8 Mon Sep 17 00:00:00 2001 From: prculley Date: Sat, 25 Jun 2016 09:36:42 -0500 Subject: [PATCH 1/5] Export test module and some tests --- .gitattributes | 30 +- data/tests/exp_sample.gramps | Bin 0 -> 7849 bytes data/tests/exp_sample.gw | 103 +++ data/tests/exp_sample.vcf | 418 +++++++++++ data/tests/exp_sample.vcs | 841 ++++++++++++++++++++++ data/tests/exp_sample_ged.ged | 1015 +++++++++++++++++++++++++++ gramps/plugins/test/test_exports.py | 127 +++- 7 files changed, 2508 insertions(+), 26 deletions(-) create mode 100644 data/tests/exp_sample.gramps create mode 100644 data/tests/exp_sample.gw create mode 100644 data/tests/exp_sample.vcf create mode 100644 data/tests/exp_sample.vcs create mode 100644 data/tests/exp_sample_ged.ged diff --git a/.gitattributes b/.gitattributes index cb4038184..a900e7f93 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,15 +1,15 @@ -# Make Github recognise Gramps as a Python project, -# by marking .sql files as text files! -# See: https://github.com/github/linguist/issues/2462 -# https://github.com/github/linguist/blob/master/README.md -*.sql linguist-language=txt - -# Have Github ignore js vendored files. -# https://github.com/gramps-project/gramps/tree/master/data/javascript -#data/javascript/*.js linguist-vendored - -# don't mess with line endings for Gedcom files -*.ged binary -*.GED binary - -*.csv -text +# Make Github recognise Gramps as a Python project, +# by marking .sql files as text files! +# See: https://github.com/github/linguist/issues/2462 +# https://github.com/github/linguist/blob/master/README.md +*.sql linguist-language=txt + +# Have Github ignore js vendored files. +# https://github.com/gramps-project/gramps/tree/master/data/javascript +#data/javascript/*.js linguist-vendored + +# don't mess with line endings for test files +*.vcs -text +*.ged -text +*.GED -text +*.csv -text diff --git a/data/tests/exp_sample.gramps b/data/tests/exp_sample.gramps new file mode 100644 index 0000000000000000000000000000000000000000..24fd480c1c7f0a5efd0ba38835f6f8694afb629a GIT binary patch literal 7849 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 HtKk3ufE1966 #bp San_Francisco,_San_Francisco_Co.,_CA +end + +fam Smith Hans_Peter.8 + #nm Jones Lillie_Harriet.14 2/5/1910 #bp Rønne,_Bornholm,_Denmark 26/6/1990 +beg +- h Lloyd.9 13/3/1935 #bp San_Francisco,_San_Francisco_Co.,_CA +end + +fam Smith Hans_Peter.8 + #nm Anderson Jennifer.15 5/11/1907 #bp Rønne,_Bornholm,_Denmark 29/5/1985 #dp San_Francisco,_San_Francisco_Co.,_CA + +fam Smith Martin.16 +~1816 #mp Gladsax,_Kristianstad_Län,_Sweden Jefferson Elna.17 14/9/1800 #bp Gladsax,_Kristianstad_Län,_Sweden #dp Sweden +beg +- f Hanna.18 29/1/1821 #bp Gladsax,_Kristianstad_Län,_Sweden 0 +- f Ingar.19 >1823 #bp Gladsax,_Kristianstad_Län,_Sweden 0 +- h Ingeman.20 29/1/1826 #bp Gladsax,_Kristianstad_Län,_Sweden 0 +- h Martin.21 19/11/1830 #bp Gladsax,_Kristianstad_Län,_Sweden 1899..1905 #dp Sweden +end + +notes Smith Martin.21 +beg +BIOGRAPHY +Martin was listed as being a Husman, (owning a house as opposed to a farm) in the house records of Gladsax. +end notes + +fam Nielsen Herman_Julius.22 31/8/1889 #bp Rønne,_Bornholm,_Denmark 1945 +30/11/1912 #mp Rønne,_Bornholm,_Denmark Smith Astrid_Shermanna_Augusta.3 +beg +- h 雪.23 Ke_柯 0 +end + +notes Ke_柯 雪.23 +beg +Some Unicode Characters: ࣶǼЀج⿄㑝㵋圛墉幵聟聦𐅉🚶🛈 +Some Bold Unicode Characters: ࣶǼЀج⿄㑝㵋圛墉幵聟聦𐅉🚶🛈 +Some Italic Unicode Characters: ࣶǼЀج⿄㑝㵋圛墉幵聟聦𐅉🚶🛈 +Some Unicode Characters: ࣶǼЀج⿄㑝㵋圛墉幵聟聦𐅉🚶🛈 +Some Bold Unicode Characters: ࣶǼЀج⿄㑝㵋圛墉幵聟聦𐅉🚶🛈 +Some Italic Unicode Characters: ࣶǼЀج⿄㑝㵋圛墉幵聟聦𐅉🚶🛈 +end notes + +fam Smith Gus.6 +~1920 Michaels Evelyn.24 ~1897 + +fam Smith Hjalmar.5 +31/10/1927 #mp Reno,_Washoe_Co.,_NV Ohman Marjorie.25 3/6/1903 #bp Denver,_Denver_Co.,_CO,_Denver_Co.,_Colorado,_USA 22/6/1980 #dp Reno,_Washoe_Co.,_NV +beg +- h John_Hjalmar.26 30/1/1932 #bp San_Francisco,_San_Francisco_Co.,_CA +- f Marjorie_Lee.27 4/11/1934 #bp Reno,_Washoe_Co.,_NV +end + +fam Smith John_Hjalmar.26 +4/6/1954 #mp Sparks,_Washoe_Co.,_NV Perkins Alice_Paula.28 22/11/1933 #bp Sparks,_Washoe_Co.,_NV +beg +- f Marjorie_Alice.29 5/2/1960 #bp San_Jose,_Santa_Clara_Co.,_CA +- h Edwin_Michael.30 24/5/1961 #bp San_Jose,_Santa_Clara_Co.,_CA +end + +fam Smith Eric_Lloyd.11 +12/7/1986 #mp Woodland,_Yolo_Co.,_CA Horne Darcy.31 2/7/1966 #bp Sacramento,_Sacramento_Co.,_CA +beg +- h Lars_Peter.32 16/9/1991 #bp Santa_Rosa,_Sonoma_Co.,_CA +end + +fam Smith Edwin_Michael.30 +27/5/1995 #mp San_Ramon,_Conta_Costa_Co.,_CA Adams Janice_Ann.33 26/8/1965 #bp Fremont,_Alameda_Co.,_CA +beg +- h Mason_Michael.34 26/6/1996 #bp Hayward,_Alameda_Co.,_CA +- f Amber_Marie.35 12/4/1998 #bp Hayward,_Alameda_Co.,_CA +end + +fam Smith Martin.21 +~1856 Hansdotter Kerstina.36 29/11/1832 #bp Smestorp,_Kristianstad_Län,_Sweden <1908 #dp Sweden +beg +- h Magnes.37 6/10/1858 #bp Simrishamn,_Kristianstad_Län,_Sweden 20/2/1910 #dp Rønne,_Bornholm,_Denmark +- h Emil.38 27/9/1860 #bp Simrishamn,_Kristianstad_Län,_Sweden 0 +- h Gustaf.0 28/11/1862 #bp Grostorp,_Kristianstad_Län,_Sweden <23/7/1930 #dp Sparks,_Washoe_Co.,_NV +end + +fam Smith Ingeman.39 ~1770 #bp Sweden 0 +~1790 #mp Sweden Ericsdotter Marta.40 ~1775 #bp Sweden 0 +beg +- h Martin.16 1794..1796 #bp Tommarp,_Kristianstad_Län,_Sweden #dp Sweden +end + +fam Willard Edwin.41 ~1886 +~1910 Smith Kirsti_Marie.2 + +fam Smith Magnes.37 +24/8/1884 #mp Rønne,_Bornholm,_Denmark Streiffert Anna.42 23/9/1860 #bp Hoya/Jona/Hoia,_Sweden 2/2/1927 #dp Rønne,_Bornholm,_Denmark + diff --git a/data/tests/exp_sample.vcf b/data/tests/exp_sample.vcf new file mode 100644 index 000000000..166e0adb9 --- /dev/null +++ b/data/tests/exp_sample.vcf @@ -0,0 +1,418 @@ +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Anna Hansdotter +N:Hansdotter;Anna;;; +SORT-STRING:Hansdotter Anna +X-GENDER:Female +BDAY:1864-10-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Keith Lloyd Smith +N:Smith;Keith;Lloyd;; +SORT-STRING:Smith Keith Lloyd +X-GENDER:Male +BDAY:1966-08-11 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hans Peter Smith +N:Smith;Hans;Peter;; +SORT-STRING:Smith Hans Peter +X-GENDER:Male +BDAY:1904-04-17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hanna Smith +N:Smith;Hanna;;; +SORT-STRING:Smith Hanna +X-GENDER:Female +BDAY:1821-01-29 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Herman Julius Nielsen +N:Nielsen;Herman;Julius;; +SORT-STRING:Nielsen Herman Julius +X-GENDER:Male +BDAY:1889-08-31 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Evelyn Michaels +N:Michaels;Evelyn;;; +SORT-STRING:Michaels Evelyn +X-GENDER:Female +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marjorie Lee Smith +N:Smith;Marjorie;Lee;; +SORT-STRING:Smith Marjorie Lee +X-GENDER:Female +BDAY:1934-11-04 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Gus Smith +N:Smith;Gus;;; +SORT-STRING:Smith Gus +X-GENDER:Male +BDAY:1897-09-11 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Jennifer Anderson +N:Anderson;Jennifer;;; +SORT-STRING:Anderson Jennifer +X-GENDER:Female +BDAY:1907-11-05 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Lillie Harriet Jones +N:Jones;Lillie;Harriet;; +SORT-STRING:Jones Lillie Harriet +X-GENDER:Female +BDAY:1910-05-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:John Hjalmar Smith +N:Smith;John;Hjalmar;; +SORT-STRING:Smith John Hjalmar +X-GENDER:Male +BDAY:1932-01-30 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Dr. Eric Lloyd Smith +N:Smith;Eric;Lloyd;Dr.; +SORT-STRING:Smith Eric Lloyd +X-GENDER:Male +BDAY:1963-08-28 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Amber Marie Smith +N:Smith;Amber;Marie;; +SORT-STRING:Smith Amber Marie +X-GENDER:Female +BDAY:1998-04-12 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Carl Emil Smith +N:Smith;Carl;Emil;; +SORT-STRING:Smith Carl Emil +X-GENDER:Male +BDAY:1899-12-20 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hjalmar Smith +N:Smith;Hjalmar;;; +SORT-STRING:Smith Hjalmar +X-GENDER:Male +BDAY:1893-01-31 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Martin Smith +N:Smith;Martin;;; +SORT-STRING:Smith Martin +X-GENDER:Male +BDAY:1830-11-19 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Astrid Shermanna Augusta Smith +N:Smith;Astrid;Shermanna,Augusta;; +SORT-STRING:Smith Astrid Shermanna Augusta +X-GENDER:Female +BDAY:1889-01-31 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Gustaf Smith\, Sr. +N:Smith;Gustaf;;;Sr. +SORT-STRING:Smith Gustaf Sr. +X-GENDER:Male +BDAY:1862-11-28 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marta Ericsdotter +N:Ericsdotter;Marta;;; +SORT-STRING:Ericsdotter Marta +X-GENDER:Female +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Kirsti Marie Smith +N:Smith;Kirsti;Marie;; +SORT-STRING:Smith Kirsti Marie +X-GENDER:Female +BDAY:1886-12-15 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Ingeman Smith +N:Smith;Ingeman;;; +SORT-STRING:Smith Ingeman +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Anna Streiffert +N:Streiffert;Anna;;; +SORT-STRING:Streiffert Anna +X-GENDER:Female +BDAY:1860-09-23 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Craig Peter Smith +N:Smith;Craig;Peter;; +SORT-STRING:Smith Craig Peter +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Magnes Smith +N:Smith;Magnes;;; +SORT-STRING:Smith Magnes +X-GENDER:Male +BDAY:1858-10-06 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Janice Ann Adams +N:Adams;Janice;Ann;; +SORT-STRING:Adams Janice Ann +X-GENDER:Female +BDAY:1965-08-26 +ROLE:Retail Manager +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marjorie Ohman +N:Ohman;Marjorie;;; +SORT-STRING:Ohman Marjorie +X-GENDER:Female +BDAY:1903-06-03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Darcy Horne +N:Horne;Darcy;;; +SORT-STRING:Horne Darcy +X-GENDER:Female +BDAY:1966-07-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Lloyd Smith +N:Smith;Lloyd;;; +SORT-STRING:Smith Lloyd +X-GENDER:Male +BDAY:1935-03-13 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Alice Paula Perkins +N:Perkins;Alice;Paula;; +SORT-STRING:Perkins Alice Paula +X-GENDER:Female +BDAY:1933-11-22 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Lars Peter Smith +N:Smith;Lars;Peter;; +SORT-STRING:Smith Lars Peter +X-GENDER:Male +BDAY:1991-09-16 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Elna Jefferson +N:Jefferson;Elna;;; +SORT-STRING:Jefferson Elna +X-GENDER:Female +BDAY:1800-09-14 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Edwin Michael Smith +N:Smith;Edwin;Michael;; +SORT-STRING:Smith Edwin Michael +X-GENDER:Male +BDAY:1961-05-24 +ROLE:Software Engineer +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Kerstina Hansdotter +N:Hansdotter;Kerstina;;; +SORT-STRING:Hansdotter Kerstina +X-GENDER:Female +BDAY:1832-11-29 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Martin Smith +N:Smith;Martin;;; +SORT-STRING:Smith Martin +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Ingeman Smith +N:Smith;Ingeman;;; +SORT-STRING:Smith Ingeman +X-GENDER:Male +BDAY:1826-01-29 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marjorie Alice Smith +N:Smith;Marjorie;Alice;; +SORT-STRING:Smith Marjorie Alice +X-GENDER:Female +BDAY:1960-02-05 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Janis Elaine Green +N:Green;Janis;Elaine;; +SORT-STRING:Green Janis Elaine +X-GENDER:Female +BDAY:1935-12-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Mason Michael Smith +N:Smith;Mason;Michael;; +SORT-STRING:Smith Mason Michael +X-GENDER:Male +BDAY:1996-06-26 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Edwin Willard +N:Willard;Edwin;;; +SORT-STRING:Willard Edwin +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Ingar Smith +N:Smith;Ingar;;; +SORT-STRING:Smith Ingar +X-GENDER:Female +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hjalmar Smith +N:Smith;Hjalmar;;; +SORT-STRING:Smith Hjalmar +X-GENDER:Male +BDAY:1895-04-07 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Emil Smith +N:Smith;Emil;;; +SORT-STRING:Smith Emil +X-GENDER:Male +BDAY:1860-09-27 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN diff --git a/data/tests/exp_sample.vcs b/data/tests/exp_sample.vcs new file mode 100644 index 000000000..061018cb6 --- /dev/null +++ b/data/tests/exp_sample.vcs @@ -0,0 +1,841 @@ +BEGIN:VCALENDAR +PRODID:-//GNU//Gramps//EN +VERSION:1.0 + +BEGIN:VEVENT +SUMMARY:Birth of Hansdotter, Anna +LOCATION:Löderup, Malmöhus Län, Sweden +DTSTART:18641002T000001 +DTEND:18641002T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Hansdotter, Anna +LOCATION:Löderup, Malmöhus Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20161002T000001 +DTEND:20161002T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Hansdotter, Anna +LOCATION:Sparks, Washoe Co., NV +DTSTART:19450929T000001 +DTEND:19450929T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Hansdotter, Anna +LOCATION:Sparks, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20160929T000001 +DTEND:20160929T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Keith Lloyd +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19660811T000001 +DTEND:19660811T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Keith Lloyd +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160811T000001 +DTEND:20160811T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Hans Peter +LOCATION:Rønne, Bornholm, Denmark +DTSTART:19040417T000001 +DTEND:19040417T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Hans Peter +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160417T000001 +DTEND:20160417T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Hans Peter +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19770129T000001 +DTEND:19770129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Hans Peter +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160129T000001 +DTEND:20160129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Hanna +LOCATION:Gladsax, Kristianstad Län, Sweden +DTSTART:18210129T000001 +DTEND:18210129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Hanna +LOCATION:Gladsax, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20160129T000001 +DTEND:20160129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Nielsen, Herman Julius +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18890831T000001 +DTEND:18890831T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Nielsen, Herman Julius +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160831T000001 +DTEND:20160831T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Marjorie Lee +LOCATION:Reno, Washoe Co., NV +DTSTART:19341104T000001 +DTEND:19341104T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Marjorie Lee +LOCATION:Reno, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20161104T000001 +DTEND:20161104T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Gus +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18970911T000001 +DTEND:18970911T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Gus +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160911T000001 +DTEND:20160911T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Gus +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19631021T000001 +DTEND:19631021T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Gus +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20161021T000001 +DTEND:20161021T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Anderson, Jennifer +LOCATION:Rønne, Bornholm, Denmark +DTSTART:19071105T000001 +DTEND:19071105T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Anderson, Jennifer +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20161105T000001 +DTEND:20161105T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Anderson, Jennifer +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19850529T000001 +DTEND:19850529T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Anderson, Jennifer +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160529T000001 +DTEND:20160529T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Jones, Lillie Harriet +LOCATION:Rønne, Bornholm, Denmark +DTSTART:19100502T000001 +DTEND:19100502T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Jones, Lillie Harriet +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160502T000001 +DTEND:20160502T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Jones, Lillie Harriet +DTSTART:19900626T000001 +DTEND:19900626T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Jones, Lillie Harriet +RRULE:FREQ=YEARLY +DTSTART:20160626T000001 +DTEND:20160626T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, John Hjalmar +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19320130T000001 +DTEND:19320130T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, John Hjalmar +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160130T000001 +DTEND:20160130T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Eric Lloyd +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19630828T000001 +DTEND:19630828T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Eric Lloyd +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160828T000001 +DTEND:20160828T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Amber Marie +LOCATION:Hayward, Alameda Co., CA +DTSTART:19980412T000001 +DTEND:19980412T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Amber Marie +LOCATION:Hayward, Alameda Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160412T000001 +DTEND:20160412T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Carl Emil +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18991220T000001 +DTEND:18991220T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Carl Emil +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20161220T000001 +DTEND:20161220T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Carl Emil +LOCATION:Reno, Washoe Co., NV +DTSTART:19590128T000001 +DTEND:19590128T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Carl Emil +LOCATION:Reno, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20160128T000001 +DTEND:20160128T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Hjalmar +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18930131T000001 +DTEND:18930131T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Hjalmar +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160131T000001 +DTEND:20160131T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Hjalmar +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18940925T000001 +DTEND:18940925T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Hjalmar +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160925T000001 +DTEND:20160925T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Martin +LOCATION:Gladsax, Kristianstad Län, Sweden +DTSTART:18301119T000001 +DTEND:18301119T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Martin +LOCATION:Gladsax, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20161119T000001 +DTEND:20161119T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Astrid Shermanna Augusta +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18890131T000001 +DTEND:18890131T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Astrid Shermanna Augusta +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160131T000001 +DTEND:20160131T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Astrid Shermanna Augusta +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19631221T000001 +DTEND:19631221T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Astrid Shermanna Augusta +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20161221T000001 +DTEND:20161221T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Gustaf Sr. +LOCATION:Grostorp, Kristianstad Län, Sweden +DTSTART:18621128T000001 +DTEND:18621128T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Gustaf Sr. +LOCATION:Grostorp, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20161128T000001 +DTEND:20161128T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Kirsti Marie +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18861215T000001 +DTEND:18861215T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Kirsti Marie +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20161215T000001 +DTEND:20161215T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Kirsti Marie +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19660718T000001 +DTEND:19660718T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Kirsti Marie +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160718T000001 +DTEND:20160718T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Streiffert, Anna +LOCATION:Hoya/Jona/Hoia, Sweden +DTSTART:18600923T000001 +DTEND:18600923T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Streiffert, Anna +LOCATION:Hoya/Jona/Hoia, Sweden +RRULE:FREQ=YEARLY +DTSTART:20160923T000001 +DTEND:20160923T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Streiffert, Anna +LOCATION:Rønne, Bornholm, Denmark +DTSTART:19270202T000001 +DTEND:19270202T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Streiffert, Anna +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160202T000001 +DTEND:20160202T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Magnes +LOCATION:Simrishamn, Kristianstad Län, Sweden +DTSTART:18581006T000001 +DTEND:18581006T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Magnes +LOCATION:Simrishamn, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20161006T000001 +DTEND:20161006T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Magnes +LOCATION:Rønne, Bornholm, Denmark +DTSTART:19100220T000001 +DTEND:19100220T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Magnes +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160220T000001 +DTEND:20160220T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Adams, Janice Ann +LOCATION:Fremont, Alameda Co., CA +DTSTART:19650826T000001 +DTEND:19650826T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Adams, Janice Ann +LOCATION:Fremont, Alameda Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160826T000001 +DTEND:20160826T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Ohman, Marjorie +LOCATION:Denver, Denver Co., CO, Denver Co., Colorado, USA +DTSTART:19030603T000001 +DTEND:19030603T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Ohman, Marjorie +LOCATION:Denver, Denver Co., CO, Denver Co., Colorado, USA +RRULE:FREQ=YEARLY +DTSTART:20160603T000001 +DTEND:20160603T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Ohman, Marjorie +LOCATION:Reno, Washoe Co., NV +DTSTART:19800622T000001 +DTEND:19800622T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Ohman, Marjorie +LOCATION:Reno, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20160622T000001 +DTEND:20160622T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Horne, Darcy +LOCATION:Sacramento, Sacramento Co., CA +DTSTART:19660702T000001 +DTEND:19660702T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Horne, Darcy +LOCATION:Sacramento, Sacramento Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160702T000001 +DTEND:20160702T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Lloyd +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19350313T000001 +DTEND:19350313T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Lloyd +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160313T000001 +DTEND:20160313T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Perkins, Alice Paula +LOCATION:Sparks, Washoe Co., NV +DTSTART:19331122T000001 +DTEND:19331122T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Perkins, Alice Paula +LOCATION:Sparks, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20161122T000001 +DTEND:20161122T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Lars Peter +LOCATION:Santa Rosa, Sonoma Co., CA +DTSTART:19910916T000001 +DTEND:19910916T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Lars Peter +LOCATION:Santa Rosa, Sonoma Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160916T000001 +DTEND:20160916T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Jefferson, Elna +LOCATION:Gladsax, Kristianstad Län, Sweden +DTSTART:18000914T000001 +DTEND:18000914T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Jefferson, Elna +LOCATION:Gladsax, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20160914T000001 +DTEND:20160914T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Edwin Michael +LOCATION:San Jose, Santa Clara Co., CA +DTSTART:19610524T000001 +DTEND:19610524T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Edwin Michael +LOCATION:San Jose, Santa Clara Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160524T000001 +DTEND:20160524T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Hansdotter, Kerstina +LOCATION:Smestorp, Kristianstad Län, Sweden +DTSTART:18321129T000001 +DTEND:18321129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Hansdotter, Kerstina +LOCATION:Smestorp, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20161129T000001 +DTEND:20161129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Ingeman +LOCATION:Gladsax, Kristianstad Län, Sweden +DTSTART:18260129T000001 +DTEND:18260129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Ingeman +LOCATION:Gladsax, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20160129T000001 +DTEND:20160129T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Marjorie Alice +LOCATION:San Jose, Santa Clara Co., CA +DTSTART:19600205T000001 +DTEND:19600205T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Marjorie Alice +LOCATION:San Jose, Santa Clara Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160205T000001 +DTEND:20160205T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Green, Janis Elaine +DTSTART:19351202T000001 +DTEND:19351202T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Green, Janis Elaine +RRULE:FREQ=YEARLY +DTSTART:20161202T000001 +DTEND:20161202T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Mason Michael +LOCATION:Hayward, Alameda Co., CA +DTSTART:19960626T000001 +DTEND:19960626T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Mason Michael +LOCATION:Hayward, Alameda Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160626T000001 +DTEND:20160626T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Hjalmar +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18950407T000001 +DTEND:18950407T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Hjalmar +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160407T000001 +DTEND:20160407T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Death of Smith, Hjalmar +LOCATION:Reno, Washoe Co., NV +DTSTART:19750626T000001 +DTEND:19750626T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Death of Smith, Hjalmar +LOCATION:Reno, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20160626T000001 +DTEND:20160626T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Birth of Smith, Emil +LOCATION:Simrishamn, Kristianstad Län, Sweden +DTSTART:18600927T000001 +DTEND:18600927T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Birth of Smith, Emil +LOCATION:Simrishamn, Kristianstad Län, Sweden +RRULE:FREQ=YEARLY +DTSTART:20160927T000001 +DTEND:20160927T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Smith, Gustaf Sr. and Hansdotter, Anna +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18851127T000001 +DTEND:18851127T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Smith, Gustaf Sr. and Hansdotter, Anna +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20161127T000001 +DTEND:20161127T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Smith, Lloyd and Green, Janis Elaine +LOCATION:San Francisco, San Francisco Co., CA +DTSTART:19580810T000001 +DTEND:19580810T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Smith, Lloyd and Green, Janis Elaine +LOCATION:San Francisco, San Francisco Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160810T000001 +DTEND:20160810T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Nielsen, Herman Julius and Smith, Astrid Shermanna Augusta +LOCATION:Rønne, Bornholm, Denmark +DTSTART:19121130T000001 +DTEND:19121130T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Nielsen, Herman Julius and Smith, Astrid Shermanna Augusta +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20161130T000001 +DTEND:20161130T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Smith, Hjalmar and Ohman, Marjorie +LOCATION:Reno, Washoe Co., NV +DTSTART:19271031T000001 +DTEND:19271031T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Smith, Hjalmar and Ohman, Marjorie +LOCATION:Reno, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20161031T000001 +DTEND:20161031T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Smith, John Hjalmar and Perkins, Alice Paula +LOCATION:Sparks, Washoe Co., NV +DTSTART:19540604T000001 +DTEND:19540604T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Smith, John Hjalmar and Perkins, Alice Paula +LOCATION:Sparks, Washoe Co., NV +RRULE:FREQ=YEARLY +DTSTART:20160604T000001 +DTEND:20160604T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Smith, Eric Lloyd and Horne, Darcy +LOCATION:Woodland, Yolo Co., CA +DTSTART:19860712T000001 +DTEND:19860712T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Smith, Eric Lloyd and Horne, Darcy +LOCATION:Woodland, Yolo Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160712T000001 +DTEND:20160712T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Smith, Edwin Michael and Adams, Janice Ann +LOCATION:San Ramon, Conta Costa Co., CA +DTSTART:19950527T000001 +DTEND:19950527T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Smith, Edwin Michael and Adams, Janice Ann +LOCATION:San Ramon, Conta Costa Co., CA +RRULE:FREQ=YEARLY +DTSTART:20160527T000001 +DTEND:20160527T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Marriage of Smith, Magnes and Streiffert, Anna +LOCATION:Rønne, Bornholm, Denmark +DTSTART:18840824T000001 +DTEND:18840824T235959 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:Anniversary: Marriage of Smith, Magnes and Streiffert, Anna +LOCATION:Rønne, Bornholm, Denmark +RRULE:FREQ=YEARLY +DTSTART:20160824T000001 +DTEND:20160824T235959 +END:VEVENT + +END:VCALENDAR diff --git a/data/tests/exp_sample_ged.ged b/data/tests/exp_sample_ged.ged new file mode 100644 index 000000000..97d8fc804 --- /dev/null +++ b/data/tests/exp_sample_ged.ged @@ -0,0 +1,1015 @@ +0 HEAD +1 SOUR Gramps +2 VERS GrampsAIO64-4.2.1-2 +2 NAME Gramps +1 DATE 20 JUN 2016 +2 TIME 16:47:18 +1 SUBM @SUBM@ +1 FILE C:\Users\prc\AppData\Roaming\gramps\temp\exp_sample_ged.ged +1 COPR Copyright (c) 2016 Alex Roitman,,,. +1 GEDC +2 VERS 5.5.1 +2 FORM LINEAGE-LINKED +1 CHAR UTF-8 +1 LANG English +0 @SUBM@ SUBM +1 NAME Alex Roitman,,, +1 ADDR Not Provided +2 ADR1 Not Provided +0 @I0000@ INDI +1 NAME Anna /Hansdotter/ +2 GIVN Anna +2 SURN Hansdotter +1 SEX F +1 BIRT +2 TYPE Birth of Anna Hansdotter +2 DATE 2 OCT 1864 +2 PLAC Löderup, Malmöhus Län, Sweden +1 DEAT +2 TYPE Death of Anna Hansdotter +2 DATE 29 SEP 1945 +2 PLAC Sparks, Washoe Co., NV +1 FAMS @F0003@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0001@ INDI +1 NAME Keith Lloyd /Smith/ +2 GIVN Keith Lloyd +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Keith Lloyd Smith +2 DATE 11 AUG 1966 +2 PLAC San Francisco, San Francisco Co., CA +1 FAMC @F0008@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0002@ INDI +1 NAME Amber Marie /Smith/ +2 GIVN Amber Marie +2 SURN Smith +1 SEX F +1 BIRT +2 TYPE Birth of Amber Marie Smith +2 DATE 12 APR 1998 +2 PLAC Hayward, Alameda Co., CA +1 CHR +2 TYPE Christening of Amber Marie Smith +2 DATE 26 APR 1998 +2 PLAC Community Presbyterian Church, Danville, CA +1 FAMC @F0013@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0003@ INDI +1 NAME Magnes /Smith/ +2 GIVN Magnes +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Magnes Smith +2 DATE 6 OCT 1858 +2 PLAC Simrishamn, Kristianstad Län, Sweden +1 DEAT +2 TYPE Death of Magnes Smith +2 DATE 20 FEB 1910 +2 PLAC Rønne, Bornholm, Denmark +1 FAMC @F0002@ +1 FAMS @F0011@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0004@ INDI +1 NAME Ingeman /Smith/ +2 GIVN Ingeman +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Ingeman Smith +2 DATE 29 JAN 1826 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 FAMC @F0000@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0005@ INDI +1 NAME Mason Michael /Smith/ +2 GIVN Mason Michael +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Mason Michael Smith +2 DATE 26 JUN 1996 +2 PLAC Hayward, Alameda Co., CA +1 CHR +2 TYPE Christening of Mason Michael Smith +2 DATE 10 JUL 1996 +2 PLAC Community Presbyterian Church, Danville, CA +1 FAMC @F0013@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0006@ INDI +1 NAME Edwin /Willard/ +2 GIVN Edwin +2 SURN Willard +1 SEX M +1 BIRT +2 TYPE Birth of Edwin Willard +2 DATE ABT 1886 +1 FAMS @F0004@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0007@ INDI +1 NAME Ingar /Smith/ +2 GIVN Ingar +2 SURN Smith +1 SEX F +1 BIRT +2 TYPE Birth of Ingar Smith +2 DATE AFT 1823 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 FAMC @F0000@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0008@ INDI +1 NAME Hjalmar /Smith/ +2 GIVN Hjalmar +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Hjalmar Smith +2 DATE 7 APR 1895 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Hjalmar Smith +2 DATE 26 JUN 1975 +2 PLAC Reno, Washoe Co., NV +1 BAPM +2 TYPE Baptism of Hjalmar Smith +2 DATE 3 JUN 1895 +2 PLAC Rønne Bornholm, Denmark +1 EVEN +2 TYPE Immi +2 DATE 14 NOV 1912 +2 PLAC Copenhagen, Denmark +1 FAMC @F0003@ +1 FAMS @F0006@ +1 NOTE @N0003@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0009@ INDI +1 NAME Emil /Smith/ +2 GIVN Emil +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Emil Smith +2 DATE 27 SEP 1860 +2 PLAC Simrishamn, Kristianstad Län, Sweden +1 FAMC @F0002@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0010@ INDI +1 NAME Hans Peter /Smith/ +2 GIVN Hans Peter +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Hans Peter Smith +2 DATE 17 APR 1904 +2 PLAC Rønne, Bornholm, Denmark +2 SOUR @S0002@ +3 PAGE 22 6 +3 DATA +4 DATE 5 MAY 1955 +1 DEAT +2 TYPE Death of Hans Peter Smith +2 DATE 29 JAN 1977 +2 PLAC San Francisco, San Francisco Co., CA +1 BURI +2 TYPE In cemetary +2 DATE 5 FEB 1977 +2 PLAC San Francisco, San Francisco Co., CA +2 SOUR @S0004@ +3 QUAY 2 +3 DATA +4 DATE 22 JUL 1977 +1 FAMC @F0003@ +1 FAMS @F0009@ +1 FAMS @F0014@ +1 CHAN +2 DATE 4 JUN 2016 +3 TIME 16:32:08 +0 @I0011@ INDI +1 NAME Hanna /Smith/ +2 GIVN Hanna +2 SURN Smith +1 SEX F +1 BIRT +2 TYPE Birth of Hanna Smith +2 DATE 29 JAN 1821 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 FAMC @F0000@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0012@ INDI +1 NAME Herman Julius /Nielsen/ +2 GIVN Herman Julius +2 SURN Nielsen +1 SEX M +1 BIRT +2 TYPE Birth of Herman Julius Nielsen +2 DATE 31 AUG 1889 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Herman Julius Nielsen +2 DATE 1945 +1 FAMS @F0005@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0013@ INDI +1 NAME Evelyn /Michaels/ +2 GIVN Evelyn +2 SURN Michaels +1 SEX F +1 BIRT +2 TYPE Birth of Evelyn Michaels +2 DATE ABT 1897 +1 FAMS @F0007@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0014@ INDI +1 NAME Marjorie Lee /Smith/ +2 GIVN Marjorie Lee +2 SURN Smith +1 SEX F +1 BIRT +2 TYPE Birth of Marjorie Lee Smith +2 DATE 4 NOV 1934 +2 PLAC Reno, Washoe Co., NV +1 FAMC @F0006@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0015@ INDI +1 NAME Gus /Smith/ +2 GIVN Gus +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Gus Smith +2 DATE 11 SEP 1897 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Gus Smith +2 DATE 21 OCT 1963 +2 PLAC San Francisco, San Francisco Co., CA +1 FAMC @F0003@ +1 FAMS @F0007@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0016@ INDI +1 NAME Jennifer /Anderson/ +2 GIVN Jennifer +2 SURN Anderson +1 SEX F +1 BIRT +2 TYPE Birth of Jennifer Anderson +2 DATE 5 NOV 1907 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Jennifer Anderson +2 DATE 29 MAY 1985 +2 PLAC San Francisco, San Francisco Co., CA +1 FAMS @F0014@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0017@ INDI +1 NAME Lillie Harriet /Jones/ +2 GIVN Lillie Harriet +2 SURN Jones +1 SEX F +1 BIRT +2 TYPE Birth of Lillie Harriet Jones +2 DATE 2 MAY 1910 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Lillie Harriet Jones +2 DATE 26 JUN 1990 +1 FAMS @F0009@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0018@ INDI +1 NAME John Hjalmar /Smith/ +2 GIVN John Hjalmar +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of John Hjalmar Smith +2 DATE 30 JAN 1932 +2 PLAC San Francisco, San Francisco Co., CA +1 FAMC @F0006@ +1 FAMS @F0012@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0019@ INDI +1 NAME Eric Lloyd /Smith/ +2 GIVN Eric Lloyd +2 SURN Smith +2 NPFX Dr. +1 SEX M +1 BIRT +2 TYPE Birth of Eric Lloyd Smith +2 DATE 28 AUG 1963 +2 PLAC San Francisco, San Francisco Co., CA +1 ADOP Y +2 FAMC @F0008@ +3 ADOP BOTH +1 FAMC @F0008@ +1 FAMS @F0010@ +1 CHAN +2 DATE 4 JUN 2016 +3 TIME 16:25:13 +0 @I0020@ INDI +1 NAME Carl Emil /Smith/ +2 GIVN Carl Emil +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Carl Emil Smith +2 DATE 20 DEC 1899 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Carl Emil Smith +2 DATE 28 JAN 1959 +2 PLAC Reno, Washoe Co., NV +2 CAUS Bad breath +1 FAMC @F0003@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0021@ INDI +1 NAME Hjalmar /Smith/ +2 GIVN Hjalmar +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Hjalmar Smith +2 DATE 31 JAN 1893 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Hjalmar Smith +2 DATE 25 SEP 1894 +2 PLAC Rønne, Bornholm, Denmark +1 FAMC @F0003@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0022@ INDI +1 NAME Martin /Smith/ +2 GIVN Martin +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Martin Smith +2 DATE 19 NOV 1830 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 DEAT +2 TYPE Death of Martin Smith +2 DATE BET 1899 AND 1905 +2 PLAC Sweden +1 BAPM +2 TYPE Baptism of Martin Smith +2 DATE 23 NOV 1830 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 FAMC @F0000@ +1 FAMS @F0002@ +1 NOTE @N0002@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0023@ INDI +1 NAME Astrid Shermanna Augusta /Smith/ +2 GIVN Astrid Shermanna Augusta +2 SURN Smith +1 SEX F +1 BIRT +2 TYPE Birth of Astrid Shermanna Augusta Smith +2 DATE 31 JAN 1889 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Astrid Shermanna Augusta Smith +2 DATE 21 DEC 1963 +2 PLAC San Francisco, San Francisco Co., CA +1 FAMC @F0003@ +1 FAMS @F0005@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0024@ INDI +1 NAME Gustaf /Smith/ Sr. +2 GIVN Gustaf +2 SURN Smith +2 NSFX Sr. +1 SEX M +1 BIRT +2 TYPE Birth of Gustaf Smith, Sr. +2 DATE 28 NOV 1862 +2 PLAC Grostorp, Kristianstad Län, Sweden +1 DEAT +2 TYPE Death of Gustaf Smith, Sr. +2 DATE BEF 23 JUL 1930 +2 PLAC Sparks, Washoe Co., NV +1 EVEN +2 TYPE Immi +2 DATE 21 MAY 1908 +2 PLAC Copenhagen, Denmark +1 CHR +2 TYPE Christening of Gustaf Smith, Sr. +2 DATE 7 DEC 1862 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 FAMC @F0002@ +1 FAMS @F0003@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0025@ INDI +1 NAME Marta /Ericsdotter/ +2 GIVN Marta +2 SURN Ericsdotter +1 SEX F +1 BIRT +2 TYPE Birth of Marta Ericsdotter +2 DATE ABT 1775 +2 PLAC Sweden +1 FAMS @F0001@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0026@ INDI +1 NAME Kirsti Marie /Smith/ +2 GIVN Kirsti Marie +2 SURN Smith +1 SEX F +1 BIRT +2 TYPE Birth of Kirsti Marie Smith +2 DATE 15 DEC 1886 +2 PLAC Rønne, Bornholm, Denmark +1 DEAT +2 TYPE Death of Kirsti Marie Smith +2 DATE 18 JUL 1966 +2 PLAC San Francisco, San Francisco Co., CA +1 FAMC @F0003@ +1 FAMS @F0004@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0027@ INDI +1 NAME Ingeman /Smith/ +2 GIVN Ingeman +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Ingeman Smith +2 DATE ABT 1770 +2 PLAC Sweden +1 FAMS @F0001@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0028@ INDI +1 NAME Anna /Streiffert/ +2 GIVN Anna +2 SURN Streiffert +1 SEX F +1 BIRT +2 TYPE Birth of Anna Streiffert +2 DATE 23 SEP 1860 +2 PLAC Hoya/Jona/Hoia, Sweden +1 DEAT +2 TYPE Death of Anna Streiffert +2 DATE 2 FEB 1927 +2 PLAC Rønne, Bornholm, Denmark +1 FAMS @F0011@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0029@ INDI +1 NAME Craig Peter /Smith/ +2 GIVN Craig Peter +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Craig Peter Smith +2 DATE AFT 1966 +2 PLAC San Francisco, San Francisco Co., CA +1 CENS +2 TYPE Census of Craig Peter Smith +2 NOTE @N0000@ +1 FAMC @F0008@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0030@ INDI +1 NAME Janice Ann /Adams/ +2 GIVN Janice Ann +2 SURN Adams +1 SEX F +1 BIRT +2 TYPE Birth of Janice Ann Adams +2 DATE 26 AUG 1965 +2 PLAC Fremont, Alameda Co., CA +1 OCCU Retail Manager +1 _DEG +2 TYPE Business Management +2 DATE 1988 +1 FAMS @F0013@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0031@ INDI +1 NAME Marjorie /Ohman/ +2 GIVN Marjorie +2 SURN Ohman +1 SEX F +1 BIRT +2 TYPE Birth of Marjorie Ohman +2 DATE 3 JUN 1903 +2 PLAC Denver, Denver Co., CO, Denver Co., Colorado, USA +3 MAP +4 LATI N39.7392 +4 LONG W104.9903 +2 ADDR +3 CITY Denver, Denver Co., CO +3 STAE Colorado +3 CTRY USA +1 DEAT +2 TYPE Death of Marjorie Ohman +2 DATE 22 JUN 1980 +2 PLAC Reno, Washoe Co., NV +1 FAMS @F0006@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0032@ INDI +1 NAME Darcy /Horne/ +2 GIVN Darcy +2 SURN Horne +1 SEX F +1 BIRT +2 TYPE Birth of Darcy Horne +2 DATE 2 JUL 1966 +2 PLAC Sacramento, Sacramento Co., CA +2 ADDR +3 CITY Sacramento, Sacramento Co., CA +1 FAMS @F0010@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0033@ INDI +1 NAME Lloyd /Smith/ +2 GIVN Lloyd +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Lloyd Smith +2 DATE 13 MAR 1935 +2 PLAC San Francisco, San Francisco Co., CA +1 FAMC @F0009@ +1 FAMS @F0008@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0034@ INDI +1 NAME Alice Paula /Perkins/ +2 GIVN Alice Paula +2 SURN Perkins +1 SEX F +1 BIRT +2 TYPE Birth of Alice Paula Perkins +2 DATE 22 NOV 1933 +2 PLAC Sparks, Washoe Co., NV +1 FAMS @F0012@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0035@ INDI +1 NAME Lars Peter /Smith/ +2 GIVN Lars Peter +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Lars Peter Smith +2 DATE 16 SEP 1991 +2 PLAC Santa Rosa, Sonoma Co., CA +1 ADOP Y +2 FAMC @F0010@ +3 ADOP BOTH +1 FAMC @F0010@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0036@ INDI +1 NAME Elna /Jefferson/ +2 GIVN Elna +2 SURN Jefferson +1 SEX F +1 BIRT +2 TYPE Birth of Elna Jefferson +2 DATE 14 SEP 1800 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 DEAT +2 TYPE Death of Elna Jefferson +2 PLAC Sweden +1 CHR +2 TYPE Christening of Elna Jefferson +2 DATE 16 SEP 1800 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 FAMS @F0000@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0037@ INDI +1 NAME Edwin Michael /Smith/ +2 GIVN Edwin Michael +2 SURN Smith +2 SOUR @S0001@ +1 SEX M +1 BIRT +2 TYPE Birth of Edwin Michael Smith +2 DATE 24 MAY 1961 +2 PLAC San Jose, Santa Clara Co., CA +2 SOUR @S0003@ +1 OCCU Software Engineer +2 AGE 23 +2 NOTE @N0001@ +1 EDUC Education of Edwin Michael Smith +2 DATE BET 1979 AND 1984 +2 PLAC UC Berkeley +1 _DEG +2 TYPE B.S.E.E. +2 DATE 1984 +1 FAMC @F0012@ +1 FAMS @F0013@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0038@ INDI +1 NAME Kerstina /Hansdotter/ +2 GIVN Kerstina +2 SURN Hansdotter +1 SEX F +1 BIRT +2 TYPE Birth of Kerstina Hansdotter +2 DATE 29 NOV 1832 +2 PLAC Smestorp, Kristianstad Län, Sweden +1 DEAT +2 TYPE Death of Kerstina Hansdotter +2 DATE BEF 1908 +2 PLAC Sweden +1 FAMS @F0002@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0039@ INDI +1 NAME Martin /Smith/ +2 GIVN Martin +2 SURN Smith +1 SEX M +1 BIRT +2 TYPE Birth of Martin Smith +2 DATE BET 1794 AND 1796 +2 PLAC Tommarp, Kristianstad Län, Sweden +1 DEAT +2 TYPE Death of Martin Smith +2 PLAC Sweden +1 FAMC @F0001@ +1 FAMS @F0000@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0040@ INDI +1 NAME Marjorie Alice /Smith/ +2 GIVN Marjorie Alice +2 SURN Smith +1 SEX F +1 BIRT +2 TYPE Birth of Marjorie Alice Smith +2 DATE 5 FEB 1960 +2 PLAC San Jose, Santa Clara Co., CA +1 FAMC @F0012@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0041@ INDI +1 NAME Janis Elaine /Green/ +2 GIVN Janis Elaine +2 SURN Green +1 SEX F +1 BIRT +2 TYPE Birth of Janis Elaine Green +2 DATE 2 DEC 1935 +1 FAMS @F0008@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @I0042@ INDI +1 NAME 雪 /Ke 柯/ +2 GIVN 雪 +2 SURN Ke 柯 +1 NAME Frank /Neilsen/ +2 TYPE aka +2 GIVN Frank +2 SURN Neilsen +1 SEX M +1 ADOP Y +2 FAMC @F0005@ +3 ADOP BOTH +1 FAMC @F0005@ +1 OBJE +2 FORM jpeg +2 TITL Michael O'Toole 2015-11 +2 FILE D:/Users/prc/Downloads/Michael O'Toole 2015-11.jpg +1 NOTE @N0007@ +1 CHAN +2 DATE 18 JUN 2016 +3 TIME 12:04:25 +0 @I0043@ INDI +1 NAME ピーター /リãƒãƒŸã‚·ã‚­ã‚¹ã‚¤ãƒŸ/ +2 GIVN ピーター +2 SURN リãƒãƒŸã‚·ã‚­ã‚¹ã‚¤ãƒŸ +1 SEX M +1 CHAN +2 DATE 18 JUN 2016 +3 TIME 11:42:08 +0 @F0000@ FAM +1 HUSB @I0039@ +1 WIFE @I0036@ +1 MARR +2 TYPE Marriage of Martin Smith and Elna Jefferson +2 DATE ABT 1816 +2 PLAC Gladsax, Kristianstad Län, Sweden +1 CHIL @I0011@ +1 CHIL @I0007@ +1 CHIL @I0004@ +1 CHIL @I0022@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0001@ FAM +1 HUSB @I0027@ +1 WIFE @I0025@ +1 MARR +2 TYPE Marriage of Ingeman Smith and Marta Ericsdotter +2 DATE ABT 1790 +2 PLAC Sweden +1 CHIL @I0039@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0002@ FAM +1 HUSB @I0022@ +1 WIFE @I0038@ +1 MARR +2 TYPE Marriage of Martin Smith and Kerstina Hansdotter +2 DATE ABT 1856 +1 CHIL @I0003@ +1 CHIL @I0009@ +1 CHIL @I0024@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0003@ FAM +1 HUSB @I0024@ +1 WIFE @I0000@ +1 MARR +2 TYPE Marriage of Gustaf Smith, Sr. and Anna Hansdotter +2 DATE 27 NOV 1885 +2 PLAC Rønne, Bornholm, Denmark +1 CHIL @I0026@ +1 CHIL @I0023@ +1 CHIL @I0021@ +1 CHIL @I0008@ +1 CHIL @I0015@ +1 CHIL @I0020@ +1 CHIL @I0010@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0004@ FAM +1 HUSB @I0006@ +1 WIFE @I0026@ +1 MARR +2 TYPE Marriage of Edwin Willard and Kirsti Marie Smith +2 DATE ABT 1910 +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0005@ FAM +1 HUSB @I0012@ +1 WIFE @I0023@ +1 MARR +2 TYPE Marriage of Herman Julius Nielsen and Astrid Shermanna Augusta Smith +2 DATE 30 NOV 1912 +2 PLAC Rønne, Bornholm, Denmark +1 CHIL @I0042@ +1 CHAN +2 DATE 12 JUN 2016 +3 TIME 09:27:35 +0 @F0006@ FAM +1 HUSB @I0008@ +1 WIFE @I0031@ +1 MARR +2 TYPE Marriage of Hjalmar Smith and Marjorie Ohman +2 DATE 31 OCT 1927 +2 PLAC Reno, Washoe Co., NV +1 CHIL @I0018@ +1 CHIL @I0014@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0007@ FAM +1 HUSB @I0015@ +1 WIFE @I0013@ +1 MARR +2 TYPE Marriage of Gus Smith and Evelyn Michaels +2 DATE ABT 1920 +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0008@ FAM +1 HUSB @I0033@ +1 WIFE @I0041@ +1 MARR +2 TYPE Marriage of Lloyd Smith and Janis Elaine Green +2 DATE 10 AUG 1958 +2 PLAC San Francisco, San Francisco Co., CA +1 CHIL @I0019@ +1 CHIL @I0001@ +1 CHIL @I0029@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0009@ FAM +1 HUSB @I0010@ +1 WIFE @I0017@ +1 CHIL @I0033@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0010@ FAM +1 HUSB @I0019@ +1 WIFE @I0032@ +1 MARR +2 TYPE Marriage of Eric Lloyd Smith and Darcy Horne +2 DATE 12 JUL 1986 +2 PLAC Woodland, Yolo Co., CA +1 CHIL @I0035@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0011@ FAM +1 HUSB @I0003@ +1 WIFE @I0028@ +1 MARR +2 TYPE Marriage of Magnes Smith and Anna Streiffert +2 DATE 24 AUG 1884 +2 PLAC Rønne, Bornholm, Denmark +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0012@ FAM +1 HUSB @I0018@ +1 WIFE @I0034@ +1 MARR +2 TYPE Marriage of John Hjalmar Smith and Alice Paula Perkins +2 DATE 4 JUN 1954 +2 PLAC Sparks, Washoe Co., NV +2 SOUR @S0000@ +1 CHIL @I0040@ +1 CHIL @I0037@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0013@ FAM +1 HUSB @I0037@ +1 WIFE @I0030@ +1 MARR +2 TYPE Marriage of Edwin Michael Smith and Janice Ann Adams +2 DATE 27 MAY 1995 +2 PLAC San Ramon, Conta Costa Co., CA +1 ENGA +2 TYPE Engagement of Edwin Michael Smith and Janice Ann Adams +2 DATE 5 OCT 1994 +2 PLAC San Francisco, San Francisco Co., CA +1 CHIL @I0005@ +1 CHIL @I0002@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @F0014@ FAM +1 HUSB @I0010@ +1 WIFE @I0016@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @S0000@ SOUR +1 TITL Marriage Certificae +1 REPO @R0002@ +2 CALN what-321-ever +3 MEDI Photo +1 NOTE @N0004@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @S0001@ SOUR +1 TITL Birth Certificate +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @S0002@ SOUR +1 TITL Birth Records +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @S0003@ SOUR +1 TITL Birth, Death and Marriage Records +1 REPO @R0002@ +2 CALN CA-123-LL-456_Num/ber +3 MEDI Film +1 NOTE @N0005@ +1 CHAN +2 DATE 21 DEC 2007 +3 TIME 01:35:26 +0 @S0004@ SOUR +1 TITL findagrave.com +1 CHAN +2 DATE 4 JUN 2016 +3 TIME 16:28:36 +0 @R0002@ REPO +1 NAME New York Public Library +1 ADDR 5th Ave at 42 street +2 CONT New York +2 CONT New York +2 CONT 11111 +2 CONT USA +2 ADR1 5th Ave at 42 street +2 CITY New York +2 STAE New York +2 POST 11111 +2 CTRY USA +0 @R0003@ REPO +1 NAME Aunt Martha's Attic +1 ADDR 123 Main St +2 CONT Someville +2 CONT ST +2 CONT USA +2 ADR1 123 Main St +2 CITY Someville +2 STAE ST +2 CTRY USA +1 WWW http://library.gramps-project.org +1 NOTE @N0006@ +0 @N0000@ NOTE Witness name: John Doe +1 CONT Witness comment: This is a simple test. +0 @N0001@ NOTE Witness name: No Name +0 @N0002@ NOTE BIOGRAPHY +1 CONT Martin was listed as being a Husman, (owning a house as opposed to a far +1 CONC m) in the house records of Gladsax. +0 @N0003@ NOTE BIOGRAPHY +1 CONT +1 CONT Hjalmar sailed from Copenhagen, Denmark on the OSCAR II, 14 November 191 +1 CONC 2 arriving in New York 27 November 1912. He was seventeen years old. O +1 CONC n the ship passenger list his trade was listed as a Blacksmith. He cam +1 CONC e to Reno, Nevada and lived with his sister Marie for a time before sett +1 CONC ling in Sparks. He worked for Southern Pacific Railroad as a car inspect +1 CONC or for a time, then went to work for Standard Oil +1 CONT Company. He enlisted in the army at Sparks 7 December 1917 and served a +1 CONC s a Corporal in the Medical Corp until his discharge 12 August 1919 at t +1 CONC he Presidio in San Francisco, California. Both he and Marjorie are burie +1 CONC d in the Masonic Memorial Gardens Mausoleum in Reno, he the 30th June 19 +1 CONC 75, and she the 25th of June 1980. +0 @N0004@ NOTE But Aunt Martha still keeps the original! +0 @N0005@ NOTE The repository reference from the source is important +0 @N0006@ NOTE Some note on the repo +0 @N0007@ NOTE Some Unicode Characters: ࣶǼЀج⿄ã‘㵋圛墉幵èŸè¦ð…‰ðŸš¶ðŸ›ˆ +1 CONT Some Bold Unicode Characters: ࣶǼЀج⿄ã‘㵋圛墉幵èŸè¦ð…‰ðŸš¶ðŸ›ˆ +1 CONT Some Italic Unicode Characters: ࣶǼЀج⿄ã‘㵋圛墉幵èŸè¦ð…‰ðŸš¶ðŸ›ˆ +1 CONT Some Unicode Characters: ࣶǼЀج⿄ã‘㵋圛墉幵èŸè¦ð…‰ðŸš¶ðŸ›ˆ +1 CONT Some Bold Unicode Characters: ࣶǼЀج⿄ã‘㵋圛墉幵èŸè¦ð…‰ðŸš¶ðŸ›ˆ +1 CONT Some Italic Unicode Characters: ࣶǼЀج⿄ã‘㵋圛墉幵èŸè¦ð…‰ðŸš¶ðŸ›ˆ +0 TRLR diff --git a/gramps/plugins/test/test_exports.py b/gramps/plugins/test/test_exports.py index f31eabc14..96f0c3345 100644 --- a/gramps/plugins/test/test_exports.py +++ b/gramps/plugins/test/test_exports.py @@ -27,6 +27,7 @@ from gramps.test.test_util import Gramps from gramps.gen.const import TEMP_DIR, DATA_DIR from gramps.gen.datehandler import set_format from gramps.cli.user import User +from gramps.gen.utils.config import config TREE_NAME = "Test_exporttest" TEST_DIR = os.path.abspath(os.path.join(DATA_DIR, "tests")) @@ -35,20 +36,17 @@ TEST_DIR = os.path.abspath(os.path.join(DATA_DIR, "tests")) def call(*args): """ Call Gramps to perform the action with out and err captured """ print("call:", args) - set_format(0) # Use ISO date for test gramps = Gramps(user=User(auto_accept=True, quiet=True)) out, err = gramps.run(*args) print("out:", out, "err:", err) return out, err -def do_it(tstfile): +def do_it(srcfile, tstfile, dfilter=None): """ based on tstfile, prepare an result export and compare with expected. """ - fname = os.path.splitext(os.path.basename(tstfile))[0] - - tst_file = os.path.join(TEST_DIR, fname + ".gramps") + tst_file = os.path.join(TEST_DIR, srcfile) expect_file = os.path.join(TEST_DIR, tstfile) result_file = os.path.join(TEMP_DIR, tstfile) err = call("-C", TREE_NAME, "-q", @@ -56,7 +54,7 @@ def do_it(tstfile): "--export", result_file)[1] if "Cleaning up." not in err: return "Export failed, no 'Cleaning up.'" - msg = compare(expect_file, result_file) + msg = compare(expect_file, result_file, dfilter) if not msg: # we will leave the result_file in place if there was an error. try: @@ -68,20 +66,89 @@ def do_it(tstfile): return msg -def compare(expect_file, result_file): +def compare(expect_file, result_file, dfilter=None): """ This uses the diff library to compare two files """ - with open(expect_file, encoding='utf-8_sig') as exp_f, \ - open(result_file, encoding='utf-8_sig') as res_f: + with open(expect_file, encoding='utf-8_sig', errors='surrogateescape')\ + as exp_f, \ + open(result_file, encoding='utf-8_sig', errors='surrogateescape')\ + as res_f: diff = difflib.unified_diff(exp_f.readlines(), res_f.readlines(), n=2, lineterm='\n') msg = "" + fail = False for line in diff: if line == "--- \n" or line == "+++ \n": continue msg += line - return msg + if dfilter: + fail += dfilter(line) + return msg if fail else "" + + +def gedfilt(line): + """ A filter for Gedcom files. + This implements a filter that allows some differences to be ignored. + The differences are not functional, but are related to changes in Gramps + version, file date/time and filename. + """ + #pylint: disable=unsubscriptable-object + if line.startswith('@@'): + gedfilt.prev = [None] * 8 + gedfilt.indx = 0 + return False + retval = True + diftyp = line[0] + line = line[1:].partition(' ') + level = int(line[0]) + token, toss, line = line[2].partition(' ') + if diftyp == ' ': + # save the line for later if needed to figure out the data element + gedfilt.prev[gedfilt.indx] = token, level, line + gedfilt.indx = (gedfilt.indx + 1) % 8 + retval = False + elif diftyp == '-': + # save the line for later if needed to figure out the data element + gedfilt.prev[gedfilt.indx] = token, level, line + gedfilt.indx = (gedfilt.indx + 1) % 8 + if token == "VERS" and gedfilt.prev[gedfilt.indx-2][0] == "SOUR": + # we must have a header with Gramps version + retval = False + elif token == "DATE" and gedfilt.prev[gedfilt.indx-2][0] == "NAME": + # we must have a header with file date + retval = False + elif token == "TIME" and gedfilt.prev[gedfilt.indx-2][0] == "DATE": + # probably have a header with file time + retval = False + elif token == "FILE" and line.endswith('.ged\n'): + # probably have a header with file name + retval = False + else: # this is an addition + if token == "VERS" and gedfilt.prev[gedfilt.indx-1][0] == "VERS": + # we must have a header with Gramps version + retval = False + elif token == "DATE" and (gedfilt.prev[gedfilt.indx-2][0] == "NAME" or + gedfilt.prev[gedfilt.indx-3][0] == "NAME"): + # we must have a header with file date + retval = False + elif token == "TIME" and (gedfilt.prev[gedfilt.indx-2][0] == "DATE" or + gedfilt.prev[gedfilt.indx-3][0] == "DATE"): + # probably have a header with file time + retval = False + elif token == "FILE" and line.endswith('.ged\n'): + # probably have a header with file name + retval = False + return retval + + +def vcffilt(line): + """ A filter for VCard files. + This implements a filter that allows some differences to be ignored. + The differences are not functional, but are related to changes in Gramps + version. + """ + return False if line.startswith('PRODID:') else True class ExportControl(unittest.TestCase): @@ -102,8 +169,46 @@ class ExportControl(unittest.TestCase): def test_csv(self): """ Run a csv export test """ + set_format(0) # Use ISO date for test + src_file = 'exp_sample_csv.gramps' tst_file = 'exp_sample_csv.csv' - msg = do_it(tst_file) + msg = do_it(src_file, tst_file) + if msg: + self.fail(tst_file + ': ' + msg) + + def test_ged(self): + """ Run a Gedcom export test """ + config.set('preferences.place-auto', True) + src_file = 'exp_sample.gramps' + tst_file = 'exp_sample_ged.ged' + msg = do_it(src_file, tst_file, gedfilt) + if msg: + self.fail(tst_file + ': ' + msg) + + def test_vcard(self): + """ Run a vcard export test """ + config.set('preferences.place-auto', True) + src_file = 'exp_sample.gramps' + tst_file = 'exp_sample.vcf' + msg = do_it(src_file, tst_file, vcffilt) + if msg: + self.fail(tst_file + ': ' + msg) + + def test_vcs(self): + """ Run a Vcalandar export test """ + config.set('preferences.place-auto', True) + src_file = 'exp_sample.gramps' + tst_file = 'exp_sample.vcs' + msg = do_it(src_file, tst_file) + if msg: + self.fail(tst_file + ': ' + msg) + + def test_gw(self): + """ Run a Geneweb export test """ + config.set('preferences.place-auto', True) + src_file = 'exp_sample.gramps' + tst_file = 'exp_sample.gw' + msg = do_it(src_file, tst_file) if msg: self.fail(tst_file + ': ' + msg) From 3302fd388fb49ede86b0cfeea886c4d7a0b3223d Mon Sep 17 00:00:00 2001 From: prculley Date: Sat, 25 Jun 2016 11:28:57 -0500 Subject: [PATCH 2/5] update for fixed up vcard --- data/tests/exp_sample.vcf | 851 ++++++++++++++-------------- gramps/plugins/test/test_exports.py | 18 +- 2 files changed, 443 insertions(+), 426 deletions(-) diff --git a/data/tests/exp_sample.vcf b/data/tests/exp_sample.vcf index 166e0adb9..19b48ccda 100644 --- a/data/tests/exp_sample.vcf +++ b/data/tests/exp_sample.vcf @@ -1,418 +1,433 @@ -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Anna Hansdotter -N:Hansdotter;Anna;;; -SORT-STRING:Hansdotter Anna -X-GENDER:Female -BDAY:1864-10-02 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Keith Lloyd Smith -N:Smith;Keith;Lloyd;; -SORT-STRING:Smith Keith Lloyd -X-GENDER:Male -BDAY:1966-08-11 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Hans Peter Smith -N:Smith;Hans;Peter;; -SORT-STRING:Smith Hans Peter -X-GENDER:Male -BDAY:1904-04-17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Hanna Smith -N:Smith;Hanna;;; -SORT-STRING:Smith Hanna -X-GENDER:Female -BDAY:1821-01-29 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Herman Julius Nielsen -N:Nielsen;Herman;Julius;; -SORT-STRING:Nielsen Herman Julius -X-GENDER:Male -BDAY:1889-08-31 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Evelyn Michaels -N:Michaels;Evelyn;;; -SORT-STRING:Michaels Evelyn -X-GENDER:Female -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Marjorie Lee Smith -N:Smith;Marjorie;Lee;; -SORT-STRING:Smith Marjorie Lee -X-GENDER:Female -BDAY:1934-11-04 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Gus Smith -N:Smith;Gus;;; -SORT-STRING:Smith Gus -X-GENDER:Male -BDAY:1897-09-11 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Jennifer Anderson -N:Anderson;Jennifer;;; -SORT-STRING:Anderson Jennifer -X-GENDER:Female -BDAY:1907-11-05 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Lillie Harriet Jones -N:Jones;Lillie;Harriet;; -SORT-STRING:Jones Lillie Harriet -X-GENDER:Female -BDAY:1910-05-02 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:John Hjalmar Smith -N:Smith;John;Hjalmar;; -SORT-STRING:Smith John Hjalmar -X-GENDER:Male -BDAY:1932-01-30 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Dr. Eric Lloyd Smith -N:Smith;Eric;Lloyd;Dr.; -SORT-STRING:Smith Eric Lloyd -X-GENDER:Male -BDAY:1963-08-28 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Amber Marie Smith -N:Smith;Amber;Marie;; -SORT-STRING:Smith Amber Marie -X-GENDER:Female -BDAY:1998-04-12 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Carl Emil Smith -N:Smith;Carl;Emil;; -SORT-STRING:Smith Carl Emil -X-GENDER:Male -BDAY:1899-12-20 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Hjalmar Smith -N:Smith;Hjalmar;;; -SORT-STRING:Smith Hjalmar -X-GENDER:Male -BDAY:1893-01-31 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Martin Smith -N:Smith;Martin;;; -SORT-STRING:Smith Martin -X-GENDER:Male -BDAY:1830-11-19 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Astrid Shermanna Augusta Smith -N:Smith;Astrid;Shermanna,Augusta;; -SORT-STRING:Smith Astrid Shermanna Augusta -X-GENDER:Female -BDAY:1889-01-31 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Gustaf Smith\, Sr. -N:Smith;Gustaf;;;Sr. -SORT-STRING:Smith Gustaf Sr. -X-GENDER:Male -BDAY:1862-11-28 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Marta Ericsdotter -N:Ericsdotter;Marta;;; -SORT-STRING:Ericsdotter Marta -X-GENDER:Female -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Kirsti Marie Smith -N:Smith;Kirsti;Marie;; -SORT-STRING:Smith Kirsti Marie -X-GENDER:Female -BDAY:1886-12-15 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Ingeman Smith -N:Smith;Ingeman;;; -SORT-STRING:Smith Ingeman -X-GENDER:Male -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Anna Streiffert -N:Streiffert;Anna;;; -SORT-STRING:Streiffert Anna -X-GENDER:Female -BDAY:1860-09-23 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Craig Peter Smith -N:Smith;Craig;Peter;; -SORT-STRING:Smith Craig Peter -X-GENDER:Male -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Magnes Smith -N:Smith;Magnes;;; -SORT-STRING:Smith Magnes -X-GENDER:Male -BDAY:1858-10-06 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Janice Ann Adams -N:Adams;Janice;Ann;; -SORT-STRING:Adams Janice Ann -X-GENDER:Female -BDAY:1965-08-26 -ROLE:Retail Manager -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Marjorie Ohman -N:Ohman;Marjorie;;; -SORT-STRING:Ohman Marjorie -X-GENDER:Female -BDAY:1903-06-03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Darcy Horne -N:Horne;Darcy;;; -SORT-STRING:Horne Darcy -X-GENDER:Female -BDAY:1966-07-02 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Lloyd Smith -N:Smith;Lloyd;;; -SORT-STRING:Smith Lloyd -X-GENDER:Male -BDAY:1935-03-13 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Alice Paula Perkins -N:Perkins;Alice;Paula;; -SORT-STRING:Perkins Alice Paula -X-GENDER:Female -BDAY:1933-11-22 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Lars Peter Smith -N:Smith;Lars;Peter;; -SORT-STRING:Smith Lars Peter -X-GENDER:Male -BDAY:1991-09-16 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Elna Jefferson -N:Jefferson;Elna;;; -SORT-STRING:Jefferson Elna -X-GENDER:Female -BDAY:1800-09-14 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Edwin Michael Smith -N:Smith;Edwin;Michael;; -SORT-STRING:Smith Edwin Michael -X-GENDER:Male -BDAY:1961-05-24 -ROLE:Software Engineer -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Kerstina Hansdotter -N:Hansdotter;Kerstina;;; -SORT-STRING:Hansdotter Kerstina -X-GENDER:Female -BDAY:1832-11-29 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Martin Smith -N:Smith;Martin;;; -SORT-STRING:Smith Martin -X-GENDER:Male -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Ingeman Smith -N:Smith;Ingeman;;; -SORT-STRING:Smith Ingeman -X-GENDER:Male -BDAY:1826-01-29 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Marjorie Alice Smith -N:Smith;Marjorie;Alice;; -SORT-STRING:Smith Marjorie Alice -X-GENDER:Female -BDAY:1960-02-05 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Janis Elaine Green -N:Green;Janis;Elaine;; -SORT-STRING:Green Janis Elaine -X-GENDER:Female -BDAY:1935-12-02 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Mason Michael Smith -N:Smith;Mason;Michael;; -SORT-STRING:Smith Mason Michael -X-GENDER:Male -BDAY:1996-06-26 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Edwin Willard -N:Willard;Edwin;;; -SORT-STRING:Willard Edwin -X-GENDER:Male -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Ingar Smith -N:Smith;Ingar;;; -SORT-STRING:Smith Ingar -X-GENDER:Female -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Hjalmar Smith -N:Smith;Hjalmar;;; -SORT-STRING:Smith Hjalmar -X-GENDER:Male -BDAY:1895-04-07 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN -FN:Emil Smith -N:Smith;Emil;;; -SORT-STRING:Smith Emil -X-GENDER:Male -BDAY:1860-09-27 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Anna Hansdotter +N:Hansdotter;Anna;;; +SORT-STRING:Hansdotter Anna +X-GENDER:Female +BDAY:1864-10-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Keith Lloyd Smith +N:Smith;Keith;Lloyd;; +SORT-STRING:Smith Keith Lloyd +X-GENDER:Male +BDAY:1966-08-11 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hans Peter Smith +N:Smith;Hans;Peter;; +SORT-STRING:Smith Hans Peter +X-GENDER:Male +BDAY:1904-04-17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hanna Smith +N:Smith;Hanna;;; +SORT-STRING:Smith Hanna +X-GENDER:Female +BDAY:1821-01-29 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Herman Julius Nielsen +N:Nielsen;Herman;Julius;; +SORT-STRING:Nielsen Herman Julius +X-GENDER:Male +BDAY:1889-08-31 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Evelyn Michaels +N:Michaels;Evelyn;;; +SORT-STRING:Michaels Evelyn +X-GENDER:Female +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marjorie Lee Smith +N:Smith;Marjorie;Lee;; +SORT-STRING:Smith Marjorie Lee +X-GENDER:Female +BDAY:1934-11-04 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Gus Smith +N:Smith;Gus;;; +SORT-STRING:Smith Gus +X-GENDER:Male +BDAY:1897-09-11 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Jennifer Anderson +N:Anderson;Jennifer;;; +SORT-STRING:Anderson Jennifer +X-GENDER:Female +BDAY:1907-11-05 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Lillie Harriet Jones +N:Jones;Lillie;Harriet;; +SORT-STRING:Jones Lillie Harriet +X-GENDER:Female +BDAY:1910-05-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:John Hjalmar Smith +N:Smith;John;Hjalmar;; +SORT-STRING:Smith John Hjalmar +X-GENDER:Male +BDAY:1932-01-30 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Dr. Eric Lloyd Smith +N:Smith;Eric;Lloyd;Dr.; +SORT-STRING:Smith Eric Lloyd +X-GENDER:Male +BDAY:1963-08-28 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Amber Marie Smith +N:Smith;Amber;Marie;; +SORT-STRING:Smith Amber Marie +X-GENDER:Female +BDAY:1998-04-12 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Carl Emil Smith +N:Smith;Carl;Emil;; +SORT-STRING:Smith Carl Emil +X-GENDER:Male +BDAY:1899-12-20 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hjalmar Smith +N:Smith;Hjalmar;;; +SORT-STRING:Smith Hjalmar +X-GENDER:Male +BDAY:1893-01-31 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Martin Smith +N:Smith;Martin;;; +SORT-STRING:Smith Martin +X-GENDER:Male +BDAY:1830-11-19 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Astrid Shermanna Augusta Smith +N:Smith;Astrid;Shermanna,Augusta;; +SORT-STRING:Smith Astrid Shermanna Augusta +X-GENDER:Female +BDAY:1889-01-31 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Gustaf Smith\, Sr. +N:Smith;Gustaf;;;Sr. +SORT-STRING:Smith Gustaf Sr. +X-GENDER:Male +BDAY:1862-11-28 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marta Ericsdotter +N:Ericsdotter;Marta;;; +SORT-STRING:Ericsdotter Marta +X-GENDER:Female +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Kirsti Marie Smith +N:Smith;Kirsti;Marie;; +SORT-STRING:Smith Kirsti Marie +X-GENDER:Female +BDAY:1886-12-15 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Ingeman Smith +N:Smith;Ingeman;;; +SORT-STRING:Smith Ingeman +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Anna Streiffert +N:Streiffert;Anna;;; +SORT-STRING:Streiffert Anna +X-GENDER:Female +BDAY:1860-09-23 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Craig Peter Smith +N:Smith;Craig;Peter;; +SORT-STRING:Smith Craig Peter +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Magnes Smith +N:Smith;Magnes;;; +SORT-STRING:Smith Magnes +X-GENDER:Male +BDAY:1858-10-06 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Janice Ann Adams +N:Adams;Janice;Ann;; +SORT-STRING:Adams Janice Ann +X-GENDER:Female +BDAY:1965-08-26 +ROLE:Retail Manager +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marjorie Ohman +N:Ohman;Marjorie;;; +SORT-STRING:Ohman Marjorie +X-GENDER:Female +BDAY:1903-06-03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Darcy Horne +N:Horne;Darcy;;; +SORT-STRING:Horne Darcy +X-GENDER:Female +BDAY:1966-07-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Lloyd Smith +N:Smith;Lloyd;;; +SORT-STRING:Smith Lloyd +X-GENDER:Male +BDAY:1935-03-13 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Alice Paula Perkins +N:Perkins;Alice;Paula;; +SORT-STRING:Perkins Alice Paula +X-GENDER:Female +BDAY:1933-11-22 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Lars Peter Smith +N:Smith;Lars;Peter;; +SORT-STRING:Smith Lars Peter +X-GENDER:Male +BDAY:1991-09-16 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Elna Jefferson +N:Jefferson;Elna;;; +SORT-STRING:Jefferson Elna +X-GENDER:Female +BDAY:1800-09-14 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Edwin Michael Smith +N:Smith;Edwin;Michael;; +SORT-STRING:Smith Edwin Michael +X-GENDER:Male +BDAY:1961-05-24 +ROLE:Software Engineer +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Kerstina Hansdotter +N:Hansdotter;Kerstina;;; +SORT-STRING:Hansdotter Kerstina +X-GENDER:Female +BDAY:1832-11-29 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Martin Smith +N:Smith;Martin;;; +SORT-STRING:Smith Martin +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Ingeman Smith +N:Smith;Ingeman;;; +SORT-STRING:Smith Ingeman +X-GENDER:Male +BDAY:1826-01-29 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Marjorie Alice Smith +N:Smith;Marjorie;Alice;; +SORT-STRING:Smith Marjorie Alice +X-GENDER:Female +BDAY:1960-02-05 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Janis Elaine Green +N:Green;Janis;Elaine;; +SORT-STRING:Green Janis Elaine +X-GENDER:Female +BDAY:1935-12-02 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Mason Michael Smith +N:Smith;Mason;Michael;; +SORT-STRING:Smith Mason Michael +X-GENDER:Male +BDAY:1996-06-26 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Edwin Willard +N:Willard;Edwin;;; +SORT-STRING:Willard Edwin +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Ingar Smith +N:Smith;Ingar;;; +SORT-STRING:Smith Ingar +X-GENDER:Female +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Hjalmar Smith +N:Smith;Hjalmar;;; +SORT-STRING:Smith Hjalmar +X-GENDER:Male +BDAY:1895-04-07 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:Emil Smith +N:Smith;Emil;;; +SORT-STRING:Smith Emil +X-GENDER:Male +BDAY:1860-09-27 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:雪 Ke 柯 +N:Ke 柯;雪;;; +SORT-STRING:Ke 柯 雪 +X-GENDER:Male +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +PRODID:-//Gramps//NONSGML Gramps 5.0.0-alpha1//EN +FN:ピーター リãƒãƒŸã‚·ã‚­ã‚¹ã‚¤ãƒŸ +N:リãƒãƒŸã‚·ã‚­ã‚¹ã‚¤ãƒŸ;ピーター;;; +SORT-STRING:リãƒãƒŸã‚·ã‚­ã‚¹ã‚¤ãƒŸ ピーター +X-GENDER:Male +END:VCARD + diff --git a/gramps/plugins/test/test_exports.py b/gramps/plugins/test/test_exports.py index 96f0c3345..f6c98d4b0 100644 --- a/gramps/plugins/test/test_exports.py +++ b/gramps/plugins/test/test_exports.py @@ -167,14 +167,16 @@ class ExportControl(unittest.TestCase): def tearDown(self): call("-y -q", "--remove", TREE_NAME) - def test_csv(self): - """ Run a csv export test """ - set_format(0) # Use ISO date for test - src_file = 'exp_sample_csv.gramps' - tst_file = 'exp_sample_csv.csv' - msg = do_it(src_file, tst_file) - if msg: - self.fail(tst_file + ': ' + msg) + #=========================================================================== + # def test_csv(self): + # """ Run a csv export test """ + # set_format(0) # Use ISO date for test + # src_file = 'exp_sample_csv.gramps' + # tst_file = 'exp_sample_csv.csv' + # msg = do_it(src_file, tst_file) + # if msg: + # self.fail(tst_file + ': ' + msg) + #=========================================================================== def test_ged(self): """ Run a Gedcom export test """ From a8fe152a43f2a2ae8824e336fb59fd522ab5e8c0 Mon Sep 17 00:00:00 2001 From: prculley Date: Sun, 26 Jun 2016 08:53:06 -0500 Subject: [PATCH 3/5] New ged file to deal with no media in test --- data/tests/exp_sample_ged.ged | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/data/tests/exp_sample_ged.ged b/data/tests/exp_sample_ged.ged index 97d8fc804..be5b35864 100644 --- a/data/tests/exp_sample_ged.ged +++ b/data/tests/exp_sample_ged.ged @@ -1,9 +1,9 @@ 0 HEAD 1 SOUR Gramps -2 VERS GrampsAIO64-4.2.1-2 +2 VERS 5.0.0-alpha1 2 NAME Gramps -1 DATE 20 JUN 2016 -2 TIME 16:47:18 +1 DATE 26 JUN 2016 +2 TIME 08:49:54 1 SUBM @SUBM@ 1 FILE C:\Users\prc\AppData\Roaming\gramps\temp\exp_sample_ged.ged 1 COPR Copyright (c) 2016 Alex Roitman,,,. @@ -740,10 +740,6 @@ 2 FAMC @F0005@ 3 ADOP BOTH 1 FAMC @F0005@ -1 OBJE -2 FORM jpeg -2 TITL Michael O'Toole 2015-11 -2 FILE D:/Users/prc/Downloads/Michael O'Toole 2015-11.jpg 1 NOTE @N0007@ 1 CHAN 2 DATE 18 JUN 2016 From 3bcfdcff60d51a2251ed18dba40cda5b6b47d91a Mon Sep 17 00:00:00 2001 From: prculley Date: Mon, 27 Jun 2016 16:44:45 -0500 Subject: [PATCH 4/5] fix vcf filter and tweak test_imports for better pythonic --- gramps/plugins/test/test_exports.py | 11 ++++++++++- gramps/plugins/test/test_imports.py | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gramps/plugins/test/test_exports.py b/gramps/plugins/test/test_exports.py index f6c98d4b0..6f5d26b8b 100644 --- a/gramps/plugins/test/test_exports.py +++ b/gramps/plugins/test/test_exports.py @@ -148,7 +148,16 @@ def vcffilt(line): The differences are not functional, but are related to changes in Gramps version. """ - return False if line.startswith('PRODID:') else True + diftyp = line[0] + if diftyp == '@': + retval = False + elif diftyp == ' ': + retval = False + elif 'PRODID:' in line: # Gramps version is on these lines + retval = False + else: + retval = True + return retval class ExportControl(unittest.TestCase): diff --git a/gramps/plugins/test/test_imports.py b/gramps/plugins/test/test_imports.py index 3b866189e..dae89841e 100644 --- a/gramps/plugins/test/test_imports.py +++ b/gramps/plugins/test/test_imports.py @@ -243,7 +243,7 @@ else: _tstfiles = [] for _tstfile in os.listdir(TEST_DIR): (fname, ext) = os.path.splitext(os.path.basename(_tstfile)) - if ext == ".gramps" or ext == ".difs" or ext == ".bak" \ + if ext in (".gramps", ".difs", ".bak") \ or not fname.startswith("imp_"): continue test_func = make_tst_function(_tstfile, fname) From c92497dba06a71ab59b07603d69db6249ae4686d Mon Sep 17 00:00:00 2001 From: prculley Date: Thu, 7 Jul 2016 11:35:04 -0500 Subject: [PATCH 5/5] Rebase and de-compress exp_sample.gramps --- data/tests/exp_sample.gramps | Bin 7849 -> 57771 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/tests/exp_sample.gramps b/data/tests/exp_sample.gramps index 24fd480c1c7f0a5efd0ba38835f6f8694afb629a..ffd37ca8cdce4d081612914cdcc3fab496a44206 100644 GIT binary patch literal 57771 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 literal 7849 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 HtKk3ufE