Difference between revisions of "GEPS 032: Python 3 support/Python 3 Deprecated"

From Gramps
Jump to: navigation, search
m (annotate about loss of report 2620)
 
(37 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Developers/General]][[Category:Developers/Roadmap]]
+
{{GEPS-Finished}}
 +
See [[GEPS 031: Python 3 support]]
  
 +
* Enhancement Request #2620: GEPS 031: Python 3 support - 3.2<br />'''''Lost''' - 1 of 4495 issues disappeared due to a table lost during a MantisBT upgrade. Per a developer [https://sourceforge.net/p/gramps/mailman/message/30069046/ maillist posting], this Python 3.0 compatibility enhancement was completed in 2009 for the Gramps 3.2 version.''
  
''python -3 gramps.py'' on trunk (2009-05-06), see [[3.2_Roadmap#Dependency_upgrades|Dependency upgrades]].
+
''python -3 gramps.py'' on trunk (2009/2010-11-26/2012-11-24), see [[3.4_Roadmap#Gramps_3.4|Dependency upgrades]].
 +
 
 +
==End 2012==
 +
 
 +
===Python 3===
 +
 
 +
* bsddb
 +
 
 +
gramps/gui/logger/_errorreportassistant.py:41:
 +
DeprecationWarning: in 3.x, the bsddb module has been removed; please use the pybsddb project instead
 +
  import bsddb
 +
 
 +
*reload
 +
 
 +
gramps/grampsapp.py:37:
 +
DeprecationWarning: In 3.x, reload() is renamed to imp.reload()
 +
  reload(sys)
 +
 
 +
* int division
 +
 
 +
gramps/gen/db/write.py:1130:
 +
DeprecationWarning: classic int division
 +
  round(lockstats['maxnlocks']*100/lockstats['maxlocks']),
 +
gramps/gen/db/write.py:1131:
 +
DeprecationWarning: classic int division
 +
  round(lockstats['maxnobjects']*100/lockstats['maxobjects'])))
 +
gramps/gui/widgets/grampletpane.py:1274:
 +
DeprecationWarning: classic int division
 +
  if x < (sx/len(self.columns) * (i + 1)):
 +
 
 +
* __eq__
 +
 
 +
gramps/gen/lib/date.py:76:
 +
DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 +
  class Span(object):
 +
gramps/gen/lib/date.py:505:
 +
DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 +
  class Date(object):
 +
gramps/gen/lib/grampstype.py:87:
 +
DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 +
  class GrampsType(GrampsTypeC):
 +
gramps/gen/lib/person.py:61:
 +
DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 +
  AddressBase, UrlBase, LdsOrdBase, TagBase, PrimaryObject):
 +
gramps/gen/lib/styledtext.py:40:
 +
DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 +
  class StyledText(object):
 +
gramps/gen/recentfiles.py:55:
 +
DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 +
  class RecentItem(object):
 +
gramps/gen/display/name.py:479:
 +
DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 +
  class K(object):
 +
 
 +
==Archives ==
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 10: Line 66:
 
! Comments
 
! Comments
 
|-
 
|-
|AutoComp.py:158:  
+
|AutoComp.py:161:  
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
| keys.sort(self.by_value)
 
| keys.sort(self.by_value)
| *
+
| **
 
|-
 
|-
 
|BasicUtils/_NameDisplay.py:224:  
 
|BasicUtils/_NameDisplay.py:224:  
Line 28: Line 84:
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|  d_keys.sort(_make_cmp) # reverse sort by keyword
 
|  d_keys.sort(_make_cmp) # reverse sort by keyword
| *
 
|-
 
|BasicUtils/_UpdateCallback.py:56:
 
|callable() not supported in 3.x; use hasattr(o, '__call__')
 
|if callable(callback): # callback is really callable
 
|
 
|-
 
|BasicUtils/_UpdateCallback.py:81:
 
|bgcolor="#fff168"|classic int division
 
|newval = int(100*count/self.total)
 
|
 
|-
 
|DataViews/GrampletView.py:782:
 
|bgcolor="#fff168"|classic int division
 
|r += t/2
 
|
 
|-
 
|DataViews/GrampletView.py:1184:
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|  gramplets.sort(lambda a, b: cmp(a.row, b.row))
 
|
 
|-
 
|DataViews/GrampletView.py:1330:
 
|bgcolor="#fff168"|classic int division
 
|if x < (sx/len(self.columns) * (i + 1)):
 
|
 
|-
 
|DataViews/PedigreeView.py:841:
 
|bgcolor="#fff168"| classic int division
 
|  if i > 0 and lst[((i+1)/2)-1]:
 
|
 
|-
 
|DataViews/PedigreeView.py:843:
 
|bgcolor="#fff168"| classic int division
 
|  fam = lst[((i+1)/2)-1][2]
 
| *
 
|-
 
|DataViews/PedigreeView.py:847:
 
|bgcolor="#fff168"| classic int division
 
| pw.connect("button-press-event",
 
self.missing_parent_button_press_cb,lst[((i+1)/2)-1][0].get_handle(),fam_h)
 
| *
 
|-
 
|DataViews/PedigreeView.py:860:
 
|bgcolor="#fff168"| classic int division
 
|  if self.show_images and i < ((len(positions)-1)/2) and  positions[i][0][3] > 1:
 
| *
 
|-
 
|DataViews/PedigreeView.py:984:
 
|bgcolor="#fff168"| classic int division
 
|  ymid = int(math.floor(ymax/2))
 
| *
 
|-
 
|DataViews/PedigreeView.py:993:
 
|bgcolor="#fff168"| classic int division
 
|  ymid = int(math.floor(ymax/4))
 
| *
 
|-
 
|DataViews/PedigreeView.py:1002:
 
|bgcolor="#fff168"| classic int division
 
|  ymid = int(math.floor(ymax/4*3))
 
| *
 
|-
 
|DataViews/PedigreeView.py:1068:
 
|bgcolor="#fff168"| classic int division
 
|  gap = alloc.height / (h*2)
 
| *
 
|-
 
|DataViews/PedigreeView.py:1077:
 
|bgcolor="#fff168"| classic int division
 
|  area.window.draw_line(gc, 0, alloc.height/2, alloc.width/2,alloc.height/2)
 
| *
 
|-
 
|DataViews/PedigreeView.py:1083:
 
|bgcolor="#fff168"| classic int division
 
|  area.window.draw_line(gc, alloc.width/2, alloc.height/2, alloc.width/2,gap)
 
| *
 
|-
 
|DataViews/PedigreeView.py:1084:
 
|bgcolor="#fff168"| classic int division
 
|  area.window.draw_line(gc, alloc.width/2, gap, alloc.width,gap)
 
| *
 
|-
 
|DataViews/PedigreeView.py:1090:
 
|bgcolor="#fff168"| classic int division
 
|  area.window.draw_line(gc, alloc.width/2, alloc.height/2, alloc.width/2,alloc.height-gap)
 
| *
 
|-
 
|DataViews/PedigreeView.py:1091:
 
|bgcolor="#fff168"| classic int division
 
|  area.window.draw_line(gc, alloc.width/2, alloc.height-gap, alloc.width,alloc.height-gap)
 
 
| *
 
| *
 
|-
 
|-
Line 146: Line 111:
 
|
 
|
 
|-
 
|-
|DisplayState.py:224:  
+
|DisplayState.py:269:  
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|  rfiles.sort(by_time)
 
|  rfiles.sort(by_time)
| *
+
| **
 
|-
 
|-
 
|Editors/_EditPrimary.py:139:  
 
|Editors/_EditPrimary.py:139:  
Line 176: Line 141:
 
|
 
|
 
|-
 
|-
|gen/db/__init__.py:21:  
+
|gen/display/name.py:315:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
| keys = sorted(self.name_formats, self._sort_name_format)
 +
| **
 +
|-
 +
|gen/display/name.py:529:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
| d_keys.sort(_make_cmp) # reverse sort on length and by keyword
 +
| **
 +
|-
 +
|gen/display/name.py:545:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
| d_keys.sort(_make_cmp) # reverse sort on length and by keyword
 +
| **
 +
|-
 +
|gen/db/__init__.py:74:  
 
|the cPickle module has been removed in Python 3.0
 
|the cPickle module has been removed in Python 3.0
|  from base import *
+
|  from cursor import *
| *
+
| **
 
|-
 
|-
 
|gen/lib/calendar.py:435:  
 
|gen/lib/calendar.py:435:  
 
|bgcolor="#fff168"| classic int division
 
|bgcolor="#fff168"| classic int division
 
|  - _GRG_SDN_OFFSET )
 
|  - _GRG_SDN_OFFSET )
|
+
| **
 
|-
 
|-
 
|gen/lib/calendar.py:442:  
 
|gen/lib/calendar.py:442:  
 
|bgcolor="#fff168"| classic int division
 
|bgcolor="#fff168"| classic int division
 
|  century = temp / _GRG_DAYS_PER_400_YEARS
 
|  century = temp / _GRG_DAYS_PER_400_YEARS
| *
+
| **
 
|-
 
|-
 
|gen/lib/calendar.py:445:  
 
|gen/lib/calendar.py:445:  
 
|bgcolor="#fff168"| classic int division
 
|bgcolor="#fff168"| classic int division
 
|  temp = ((temp % _GRG_DAYS_PER_400_YEARS) / 4) * 4 + 3
 
|  temp = ((temp % _GRG_DAYS_PER_400_YEARS) / 4) * 4 + 3
| *
+
| **
 
|-
 
|-
 
|gen/lib/calendar.py:446:  
 
|gen/lib/calendar.py:446:  
 
|bgcolor="#fff168"| classic int division
 
|bgcolor="#fff168"| classic int division
 
|  year = (century * 100) + (temp / _GRG_DAYS_PER_4_YEARS)
 
|  year = (century * 100) + (temp / _GRG_DAYS_PER_4_YEARS)
| *
+
| **
 
|-
 
|-
 
|gen/lib/calendar.py:447:  
 
|gen/lib/calendar.py:447:  
 
|bgcolor="#fff168"| classic int division
 
|bgcolor="#fff168"| classic int division
 
|  day_of_year = (temp % _GRG_DAYS_PER_4_YEARS) / 4 + 1
 
|  day_of_year = (temp % _GRG_DAYS_PER_4_YEARS) / 4 + 1
| *
+
| **
 
|-
 
|-
 
|gen/lib/calendar.py:451:  
 
|gen/lib/calendar.py:451:  
 
|bgcolor="#fff168"| classic int division
 
|bgcolor="#fff168"| classic int division
 
|  month = temp / _GRG_DAYS_PER_5_MONTHS
 
|  month = temp / _GRG_DAYS_PER_5_MONTHS
| *
+
| **
 
|-
 
|-
 
|gen/lib/calendar.py:452:  
 
|gen/lib/calendar.py:452:  
 
|bgcolor="#fff168"| classic int division
 
|bgcolor="#fff168"| classic int division
 
|  day = (temp % _GRG_DAYS_PER_5_MONTHS) / 5 + 1
 
|  day = (temp % _GRG_DAYS_PER_5_MONTHS) / 5 + 1
| *
+
| **
 
|-
 
|-
 
|gen/lib/date.py:76:  
 
|gen/lib/date.py:76:  
Line 247: Line 227:
 
|-
 
|-
 
|gen/plug/_gramplet.py:24:  
 
|gen/plug/_gramplet.py:24:  
| in 3.x, bsddb has been removed
+
| in 3.x, bsddb has been removed, please use the pybsddb project instead
| please use the pybsddb project instead
 
 
| import bsddb
 
| import bsddb
 
| **
 
| **
 +
|-
 +
|gen/plug/_pluginreg.py:1059:
 +
| execfile() not supported in 3.x; use exec()
 +
| {})
 +
| **
 +
|-
 +
|gen/updatecallback.py:56:
 +
| callable() not supported in 3.x; use isinstance(x, collections.Callable) if callable(callback): # callback is really callable - execfile() not supported in 3.x; use exec()
 +
| {})
 +
| **
 +
|-
 +
|gen/updatecallback.py:81:
 +
|bgcolor="#fff168"|classic int division
 +
|newval = int(100*count/self.total)
 +
|
 
|-
 
|-
 
|GrampsCfg.py:1076:
 
|GrampsCfg.py:1076:
Line 263: Line 257:
 
|-
 
|-
 
|GrampsLogger/_ErrorReportAssistant.py:5:  
 
|GrampsLogger/_ErrorReportAssistant.py:5:  
| in 3.x, bsddb has been removed
+
| in 3.x, bsddb has been removed, please use the pybsddb project instead
| please use the pybsddb project instead  
 
 
| import sys, os, bsddb
 
| import sys, os, bsddb
 
| *
 
| *
 
|-
 
|-
|gui/viewManager.py:1353:  
+
|gui/viewmanager.py:350:
 +
| urllib.urlopen() has been removed in Python 3.0 in favor of urllib2.urlopen()
 +
| fp = urllib.urlopen(URL)
 +
| **
 +
|-
 +
|gui/viewManager.py:1413:  
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|  lst.sort(by_menu_name)
 
|  lst.sort(by_menu_name)
 
| *
 
| *
 +
|-
 +
|gui/viewmanager.py:1686:
 +
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 +
|  pdatas.sort(by_menu_name)
 +
| **
 +
|-
 +
|gui/widgets/grampletpane.py:552:
 +
|bgcolor="#fff168"| classic int division
 +
|  r += t/2
 +
| **
 
|-
 
|-
 
|ListModel.py:215:
 
|ListModel.py:215:
Line 281: Line 289:
 
|bgcolor="#a0ffa0"|GtkWarning: gtk_button_box_set_child_secondary: assertion `child->parent == GTK_WIDGET (widget)' failed builder.add_from_file(glade_file)
 
|bgcolor="#a0ffa0"|GtkWarning: gtk_button_box_set_child_secondary: assertion `child->parent == GTK_WIDGET (widget)' failed builder.add_from_file(glade_file)
 
|
 
|
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/BookReport.py:707:  
 
|plugins/BookReport.py:707:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_booklist_ok_clicked',  missing handler 'on_booklist_cancel_clicked', missing handler 'on_booklist_delete_clicked'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_booklist_ok_clicked',  missing handler 'on_booklist_cancel_clicked', missing handler 'on_booklist_delete_clicked'
 
|"destroy_passed_object" : self.close
 
|"destroy_passed_object" : self.close
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/Records.py:298:  
 
|plugins/Records.py:298:  
Line 352: Line 360:
 
|bgcolor="#fff168"|classic int division
 
|bgcolor="#fff168"|classic int division
 
|incr = (year_high - year_low)/5
 
|incr = (year_high - year_low)/5
 +
|
 +
|-
 +
|plugins/gramplet/FanChartGramplet.py:301:
 +
|bgcolor="#fff168"|classic int division
 +
|self.draw_text(cr, name, radius - self.pixels_per_generation/2,
 +
|
 +
|-
 +
|plugins/gramplet/FanChartGramplet.py:343:
 +
|bgcolor="#fff168"|classic int division
 +
|cr.move_to(- (width / pango.SCALE) / 2.0, - radius)
 +
|
 +
|-
 +
|plugins/gramplet/FanChartGramplet.py:482:
 +
|bgcolor="#fff168"|classic int division
 +
|cx = w/2
 +
|
 +
|-
 +
|plugins/gramplet/FanChartGramplet.py:483:
 +
|bgcolor="#fff168"|classic int division
 +
|cy = h/2
 +
|
 +
|-
 +
|plugins/gramplet/GivenNameGramplet.py:86:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
|givensubname_sort.sort(lambda a,b: -cmp(a,b))
 +
|
 +
|-
 +
|plugins/gramplet/GivenNameGramplet.py:94:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
|cloud_names.sort(lambda a,b: cmp(a[1], b[1]))
 +
|
 +
|-
 +
|plugins/gramplet/PluginManagerGramplet.py:59:
 +
|urllib.urlopen() has been removed in Python 3.0 in favor of urllib2.urlopen()
 +
|
 +
|
 +
|-
 +
|plugins/gramplet/SurnameCloudGramplet.py:99:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
|surname_sort.sort(lambda a,b: -cmp(a,b))
 +
|
 +
|-
 +
|plugins/gramplet/SurnameCloudGramplet.py:107:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
|cloud_names.sort(lambda a,b: cmp(a[1], b[1]))
 +
|
 +
|-
 +
|plugins/gramplet/TopSurnamesGramplet.py:83:
 +
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 +
|surname_sort.sort(lambda a,b: -cmp(a,b))
 +
|
 +
|-
 +
|plugins/quickview/all_events.py:54:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
|event_list.sort(by_date)
 +
|
 +
|-
 +
|plugins/quickview/all_events.py:95:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
|event_list.sort(fam_sort)
 +
|
 +
|-
 +
|plugins/quickview/all_events.py:96:
 +
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 +
|event_list_children.sort(fam_sort)
 +
|
 +
|-
 +
|plugins/lib/libcairodoc.py:1085:
 +
|bgcolor="#fff168"|classic int division
 +
|align_x = - layout_width / 2
 +
|
 +
|-
 +
|plugins/lib/libcairodoc.py:1092:
 +
|bgcolor="#fff168"|classic int division
 +
|align_y = - layout_height / 2
 
|
 
|
 
|-
 
|-
Line 377: Line 460:
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|"on_apply_clicked"  : self.on_apply_clicked,
 
|"on_apply_clicked"  : self.on_apply_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/Desbrowser.py:85:  
 
|plugins/tool/Desbrowser.py:85:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|"on_help_clicked"      : self.on_help_clicked,
 
|"on_help_clicked"      : self.on_help_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/EventCmp.py:137:  
 
|plugins/tool/EventCmp.py:137:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_view_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_view_delete_event'
 
|"destroy_passed_object"  : self.close
 
|"destroy_passed_object"  : self.close
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/EventCmp.py:137:  
 
|plugins/tool/EventCmp.py:137:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_write_table'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_write_table'
 
|"destroy_passed_object"  : self.close
 
|"destroy_passed_object"  : self.close
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/EventCmp.py:240:  
 
|plugins/tool/EventCmp.py:240:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_filters_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_filters_delete_event'
 
|"on_help_clicked"      : self.on_help_clicked,
 
|"on_help_clicked"      : self.on_help_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/EventCmp.py:240:  
 
|plugins/tool/EventCmp.py:240:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_apply_clicked'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_apply_clicked'
 
|"on_help_clicked"      : self.on_help_clicked,
 
|"on_help_clicked"      : self.on_help_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/EventCmp.py:240:  
 
|plugins/tool/EventCmp.py:240:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_editor_clicked'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_editor_clicked'
 
|"on_help_clicked"      : self.on_help_clicked,
 
|"on_help_clicked"      : self.on_help_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/EventCmp.py:240:  
 
|plugins/tool/EventCmp.py:240:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_view_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_view_delete_event'
 
|"on_help_clicked"      : self.on_help_clicked,
 
|"on_help_clicked"      : self.on_help_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/EventCmp.py:250:  
 
|plugins/tool/EventCmp.py:250:  
Line 427: Line 510:
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_show_event', 'on_help_show_clicked', 'on_do_merge_clicked'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_show_event', 'on_help_show_clicked', 'on_do_merge_clicked'
 
|"on_delete_merge_event" : self.close,
 
|"on_delete_merge_event" : self.close,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/FindDupes.py:571:  
 
|plugins/tool/FindDupes.py:571:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_merge_event', 'on_help_clicked', 'on_merge_ok_clicked'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_merge_event', 'on_help_clicked', 'on_merge_ok_clicked'
 
|"on_delete_show_event"  : self.close,
 
|"on_delete_show_event"  : self.close,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/NotRelated.py:91:
 
|plugins/tool/NotRelated.py:91:
 
|bgcolor="#a0ffa0"|Warning: g_value_type_compatible: assertion `G_TYPE_IS_VALUE (src_type)' failed topDialog.add_from_file(glade_file)
 
|bgcolor="#a0ffa0"|Warning: g_value_type_compatible: assertion `G_TYPE_IS_VALUE (src_type)' failed topDialog.add_from_file(glade_file)
 
|GtkWarning: /build/buildd/gtk+2.0-2.16.1/gtk/gtkliststore.c:608: Unable to convert from (null) to gchararray  topDialog.add_from_file(glade_file)
 
|GtkWarning: /build/buildd/gtk+2.0-2.16.1/gtk/gtkliststore.c:608: Unable to convert from (null) to gchararray  topDialog.add_from_file(glade_file)
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/NotRelated.py:91:
 
|plugins/tool/NotRelated.py:91:
 
|bgcolor="#a0ffa0"|Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed topDialog.add_from_file(glade_file)
 
|bgcolor="#a0ffa0"|Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed topDialog.add_from_file(glade_file)
 
|
 
|
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/NotRelated.py:95:  
 
|plugins/tool/NotRelated.py:95:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|"on_help_clicked"      : self.on_help_clicked,
 
|"on_help_clicked"      : self.on_help_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/OwnerEditor.py:121:  
 
|plugins/tool/OwnerEditor.py:121:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_event', 'on_menu_activate'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_event', 'on_menu_activate'
 
|"on_eventbox_button_press_event": self.on_button_press_event,
 
|"on_eventbox_button_press_event": self.on_button_press_event,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/OwnerEditor.py:128:  
 
|plugins/tool/OwnerEditor.py:128:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_event','on_cancel_button_clicked', 'on_help_button_clicked', 'on_eventbox_button_press_event', 'on_ok_button_clicked'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_delete_event','on_cancel_button_clicked', 'on_help_button_clicked', 'on_eventbox_button_press_event', 'on_ok_button_clicked'
 
|popup_menu.connect_signals({"on_menu_activate": self.on_menu_activate})
 
|popup_menu.connect_signals({"on_menu_activate": self.on_menu_activate})
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/RemoveUnused.py:221:  
 
|plugins/tool/RemoveUnused.py:221:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_result_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_result_delete_event'
 
|"on_find_button_clicked"  : self.find,
 
|"on_find_button_clicked"  : self.find,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/SortEvents.py:121:  
 
|plugins/tool/SortEvents.py:121:  
Line 477: Line 560:
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handler 'on_delete_event'
 
|"on_help_clicked"      : self.on_help_clicked,
 
|"on_help_clicked"      : self.on_help_clicked,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/Verify.py:427:  
 
|plugins/tool/Verify.py:427:  
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_verify_ok_clicked', 'on_help_clicked'
 
|bgcolor="#ffd0d0"|RuntimeWarning: missing handlers 'on_verify_ok_clicked', 'on_help_clicked'
 
|"destroy_passed_object"  : self.close,
 
|"destroy_passed_object"  : self.close,
|will be fixed (liglade to gtkbuilder) ?
+
|will be fixed (libglade to gtkbuilder) ?
 
|-
 
|-
 
|plugins/tool/Verify.py:908:  
 
|plugins/tool/Verify.py:908:  
Line 548: Line 631:
 
|((child_birth_date - mother_birth_date)/365 < self.yng_mom))
 
|((child_birth_date - mother_birth_date)/365 < self.yng_mom))
 
|
 
|
 +
|-
 +
|plugins/view/GrampletView.py:1184:
 +
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 +
|  gramplets.sort(lambda a, b: cmp(a.row, b.row))
 +
|
 +
|-
 +
|plugins/view/GrampletView.py:1330:
 +
|bgcolor="#fff168"|classic int division
 +
|if x < (sx/len(self.columns) * (i + 1)):
 +
|
 +
|-
 +
|plugins/view/pedigreeview.py:1053:
 +
|bgcolor="#fff168"| classic int division
 +
|  _delta = (2**size) / (2**level)
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1058:
 +
|bgcolor="#fff168"| classic int division
 +
|  y_pos = _delta / 2 + offset * _delta - 1
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1076:
 +
|bgcolor="#fff168"| classic int division
 +
|  lst[((i+1)/2)-1]) or self.tree_style == 1):
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1087:
 +
|bgcolor="#fff168"| classic int division
 +
|  if i > 0 and lst[((i+1)/2)-1]:
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1089:
 +
|bgcolor="#fff168"| classic int division
 +
|  fam = lst[((i+1)/2)-1][2]
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1095:
 +
|bgcolor="#fff168"| classic int division
 +
|  lst[((i+1)/2)-1][0].get_handle(), fam_h)
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1104:
 +
|bgcolor="#fff168"| classic int division
 +
|  (i < ((2**size-1)/2) or self.tree_style == 2):
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1173:
 +
|bgcolor="#fff168"| classic int division
 +
| elif self.tree_style in [0, 2] and lst[((i+1)/2)-1]:
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1176:
 +
|bgcolor="#fff168"| classic int division
 +
|  y_pos = offset * _delta - (_delta / 2) - 1
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1191:
 +
|bgcolor="#fff168"| classic int division
 +
|  line = LineWidget(lst[((i+1)/2)-1][4],
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1230:
 +
|bgcolor="#fff168"| classic int division
 +
|  y_pos = _delta / 2 + offset * _delta -1 + _height / 2
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1272:
 +
|bgcolor="#fff168"| classic int division
 +
|  ymid = int(math.floor(ymax/2))
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1285:
 +
|bgcolor="#fff168"| classic int division
 +
|  ymid = int(math.floor(ymax/4))
 +
| **
 +
|-
 +
|plugins/view/pedigreeview.py:1298:
 +
|bgcolor="#fff168"| classic int division
 +
|  ymid = int(math.floor(ymax/4*3))
 +
| **
 
|-
 
|-
 
|plugins/webreport/NarrativeWeb.py:318:
 
|plugins/webreport/NarrativeWeb.py:318:
Line 642: Line 805:
 
|bgcolor="#dcdcdc"|comparing unequal types not supported in 3.x
 
|bgcolor="#dcdcdc"|comparing unequal types not supported in 3.x
 
|day_list.sort()
 
|day_list.sort()
|
 
|-
 
|plugins/gramplet/FanChartGramplet.py:301:
 
|bgcolor="#fff168"|classic int division
 
|self.draw_text(cr, name, radius - self.pixels_per_generation/2,
 
|
 
|-
 
|plugins/gramplet/FanChartGramplet.py:343:
 
|bgcolor="#fff168"|classic int division
 
|cr.move_to(- (width / pango.SCALE) / 2.0, - radius)
 
|
 
|-
 
|plugins/gramplet/FanChartGramplet.py:482:
 
|bgcolor="#fff168"|classic int division
 
|cx = w/2
 
|
 
|-
 
|plugins/gramplet/FanChartGramplet.py:483:
 
|bgcolor="#fff168"|classic int division
 
|cy = h/2
 
|
 
|-
 
|plugins/gramplet/GivenNameGramplet.py:86:
 
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 
|givensubname_sort.sort(lambda a,b: -cmp(a,b))
 
|
 
|-
 
|plugins/gramplet/GivenNameGramplet.py:94:
 
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 
|cloud_names.sort(lambda a,b: cmp(a[1], b[1]))
 
|
 
|-
 
|plugins/gramplet/PluginManagerGramplet.py:59:
 
|urllib.urlopen() has been removed in Python 3.0 in favor of urllib2.urlopen()
 
|
 
|
 
|-
 
|plugins/gramplet/SurnameCloudGramplet.py:99:
 
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 
|surname_sort.sort(lambda a,b: -cmp(a,b))
 
|
 
|-
 
|plugins/gramplet/SurnameCloudGramplet.py:107:
 
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 
|cloud_names.sort(lambda a,b: cmp(a[1], b[1]))
 
|
 
|-
 
|plugins/gramplet/TopSurnamesGramplet.py:83:
 
|bgcolor="#01b0f0"| the cmp argument is not supported in 3.x
 
|surname_sort.sort(lambda a,b: -cmp(a,b))
 
|
 
|-
 
|plugins/lib/libcairodoc.py:1085:
 
|bgcolor="#fff168"|classic int division
 
|align_x = - layout_width / 2
 
|
 
|-
 
|plugins/lib/libcairodoc.py:1092:
 
|bgcolor="#fff168"|classic int division
 
|align_y = - layout_height / 2
 
|
 
|-
 
|plugins/quickview/all_events.py:54:
 
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 
|event_list.sort(by_date)
 
|
 
|-
 
|plugins/quickview/all_events.py:95:
 
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 
|event_list.sort(fam_sort)
 
|
 
|-
 
|plugins/quickview/all_events.py:96:
 
|bgcolor="#01b0f0"|the cmp argument is not supported in 3.x
 
|event_list_children.sort(fam_sort)
 
 
|
 
|
 
|-
 
|-
Line 727: Line 815:
 
|Overriding __cmp__ blocks inheritance of __hash__ in 3.x
 
|Overriding __cmp__ blocks inheritance of __hash__ in 3.x
 
|class RecentItem(object):
 
|class RecentItem(object):
| *
+
| **
 
|-
 
|-
 
|ReportBase/_ReportUtils.py:1820:
 
|ReportBase/_ReportUtils.py:1820:
Line 758: Line 846:
 
_*2009-07-01
 
_*2009-07-01
 
_**2010-11-26
 
_**2010-11-26
 +
 +
[[Category:Developers/General]]
 +
[[Category:Developers/Quality Assurance]]
 +
[[Category:GEPS]]

Latest revision as of 02:04, 21 June 2022

Gnome-important.png
GEPS Closed

This GEPS (Gramps Enhancement Proposal) is closed and available in the version of Gramps indicated below.
Do not edit this page. Submit bugs/features to https://gramps-project.org/bugs/.

See GEPS 031: Python 3 support

  • Enhancement Request #2620: GEPS 031: Python 3 support - 3.2
    Lost - 1 of 4495 issues disappeared due to a table lost during a MantisBT upgrade. Per a developer maillist posting, this Python 3.0 compatibility enhancement was completed in 2009 for the Gramps 3.2 version.

python -3 gramps.py on trunk (2009/2010-11-26/2012-11-24), see Dependency upgrades.

End 2012

Python 3

  • bsddb

gramps/gui/logger/_errorreportassistant.py:41:

DeprecationWarning: in 3.x, the bsddb module has been removed; please use the pybsddb project instead
 import bsddb
  • reload

gramps/grampsapp.py:37:

DeprecationWarning: In 3.x, reload() is renamed to imp.reload()
 reload(sys)
  • int division

gramps/gen/db/write.py:1130:

DeprecationWarning: classic int division
 round(lockstats['maxnlocks']*100/lockstats['maxlocks']),

gramps/gen/db/write.py:1131:

DeprecationWarning: classic int division
 round(lockstats['maxnobjects']*100/lockstats['maxobjects'])))

gramps/gui/widgets/grampletpane.py:1274:

DeprecationWarning: classic int division
 if x < (sx/len(self.columns) * (i + 1)):
  • __eq__

gramps/gen/lib/date.py:76:

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 class Span(object):

gramps/gen/lib/date.py:505:

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 class Date(object):

gramps/gen/lib/grampstype.py:87:

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 class GrampsType(GrampsTypeC):

gramps/gen/lib/person.py:61:

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 AddressBase, UrlBase, LdsOrdBase, TagBase, PrimaryObject):

gramps/gen/lib/styledtext.py:40:

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 class StyledText(object):

gramps/gen/recentfiles.py:55:

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 class RecentItem(object):

gramps/gen/display/name.py:479:

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
 class K(object):

Archives

module warnings (deprecation, runtime, Gtk) . Comments
AutoComp.py:161: the cmp argument is not supported in 3.x keys.sort(self.by_value) **
BasicUtils/_NameDisplay.py:224: the cmp argument is not supported in 3.x keys.sort(self._sort_name_format) *
BasicUtils/_NameDisplay.py:348: the cmp argument is not supported in 3.x d_keys.sort(_make_cmp) # reverse sort by ikeyword *
BasicUtils/_NameDisplay.py:364: the cmp argument is not supported in 3.x d_keys.sort(_make_cmp) # reverse sort by keyword *
DateHandler/_DateParser.py:290: the cmp argument is not supported in 3.x keys.sort(lambda x, y: cmp(len(y), len(x))) **
DisplayModels/_BaseModel.py:220: the cmp argument is not supported in 3.x reverse=self.reverse)
DisplayModels/_PeopleModel.py:96: the cmp argument is not supported in 3.x mylist.sort(locale.strcoll)
DisplayModels/_PeopleModel.py:196: the cmp argument is not supported in 3.x slist.sort(lambda x, y: locale.strcoll(x[0], y[0]))
DisplayModels/_PeopleModel.py:358: classic int division interval=len(handle_list)/10)
DisplayState.py:269: the cmp argument is not supported in 3.x rfiles.sort(by_time) **
Editors/_EditPrimary.py:139: comparing unequal types not supported in 3.x self.empty_object().serialize()[1:]) == 0 *
FilterEditor/_EditRule.py:544: the cmp argument is not supported in 3.x keys.sort(by_rule_name)
gen/db/base.py:1405: the cmp argument is not supported in 3.x handle_list.sort(self.__sortbysource)
gen/db/base.py:1419: the cmp argument is not supported in 3.x handle_list.sort(self.__sortbymedia)
gen/db/dbdir.py:1977: comparing unequal types not supported in 3.x old_version = map(int, db.__version__.split(".",2)[:2]) < (4, 7)
gen/display/name.py:315: the cmp argument is not supported in 3.x keys = sorted(self.name_formats, self._sort_name_format) **
gen/display/name.py:529: the cmp argument is not supported in 3.x d_keys.sort(_make_cmp) # reverse sort on length and by keyword **
gen/display/name.py:545: the cmp argument is not supported in 3.x d_keys.sort(_make_cmp) # reverse sort on length and by keyword **
gen/db/__init__.py:74: the cPickle module has been removed in Python 3.0 from cursor import * **
gen/lib/calendar.py:435: classic int division - _GRG_SDN_OFFSET ) **
gen/lib/calendar.py:442: classic int division century = temp / _GRG_DAYS_PER_400_YEARS **
gen/lib/calendar.py:445: classic int division temp = ((temp % _GRG_DAYS_PER_400_YEARS) / 4) * 4 + 3 **
gen/lib/calendar.py:446: classic int division year = (century * 100) + (temp / _GRG_DAYS_PER_4_YEARS) **
gen/lib/calendar.py:447: classic int division day_of_year = (temp % _GRG_DAYS_PER_4_YEARS) / 4 + 1 **
gen/lib/calendar.py:451: classic int division month = temp / _GRG_DAYS_PER_5_MONTHS **
gen/lib/calendar.py:452: classic int division day = (temp % _GRG_DAYS_PER_5_MONTHS) / 5 + 1 **
gen/lib/date.py:76: Overriding __eq__ blocks inheritance of __hash__ in 3.x class Span(object): **
gen/lib/date.py:588: Overriding __cmp__ blocks inheritance of __hash__ in 3.x class GrampsType(object): **
gen/lib/date.py:1248: classic int division dv[Date._POS_YR] -= int((-dv[Date._POS_MON]) / 12) + 1
gen/lib/grampstype.py:73: Overriding __cmp__ blocks inheritance of __hash__ in 3.x class GrampsType(object): **
gen/lib/person.py:57: Overriding __eq__ blocks inheritance of __hash__ in 3.x AddressBase, UrlBase, LdsOrdBase, TagBase, PrimaryObject): **
gen/lib/styledtext.py:37: Overriding __eq__ blocks inheritance of __hash__ in 3.x class StyledText(object): **
gen/plug/_gramplet.py:24: in 3.x, bsddb has been removed, please use the pybsddb project instead import bsddb **
gen/plug/_pluginreg.py:1059: execfile() not supported in 3.x; use exec() {}) **
gen/updatecallback.py:56: callable() not supported in 3.x; use isinstance(x, collections.Callable) if callable(callback): # callback is really callable - execfile() not supported in 3.x; use exec() {}) **
gen/updatecallback.py:81: classic int division newval = int(100*count/self.total)
GrampsCfg.py:1076: classic int division color.green/256,
GrampsCfg.py:1077: classic int division color.blue/256)
GrampsLogger/_ErrorReportAssistant.py:5: in 3.x, bsddb has been removed, please use the pybsddb project instead import sys, os, bsddb *
gui/viewmanager.py:350: urllib.urlopen() has been removed in Python 3.0 in favor of urllib2.urlopen() fp = urllib.urlopen(URL) **
gui/viewManager.py:1413: the cmp argument is not supported in 3.x lst.sort(by_menu_name) *
gui/viewmanager.py:1686: the cmp argument is not supported in 3.x pdatas.sort(by_menu_name) **
gui/widgets/grampletpane.py:552: classic int division r += t/2 **
ListModel.py:215: comparing unequal types not supported in 3.x if col < 0: *
ManagedWindow.py:428: GtkWarning: gtk_button_box_set_child_secondary: assertion `child->parent == GTK_WIDGET (widget)' failed builder.add_from_file(glade_file) will be fixed (libglade to gtkbuilder) ?
plugins/BookReport.py:707: RuntimeWarning: missing handler 'on_booklist_ok_clicked', missing handler 'on_booklist_cancel_clicked', missing handler 'on_booklist_delete_clicked' "destroy_passed_object" : self.close will be fixed (libglade to gtkbuilder) ?
plugins/Records.py:298: the cmp argument is not supported in 3.x lowest.sort(lambda a,b: cmp(a[0], b[0]))
plugins/docgen/GtkPrint.py:361: classic int division xtranslate += (width - paper_w) / 2
plugins/drawreport/AncestorTree.py:86: classic int division delta = int((self.size/(2**(x))))
plugins/drawreport/AncestorTree.py:87: classic int division new_y = int((delta/2) + (y)*delta)
plugins/drawreport/AncestorTree.py:98: classic int division delta = int(self.size/(2**x))
plugins/drawreport/AncestorTree.py:99: classic int division y = int(delta/2 + ty*delta)
plugins/drawreport/DescendTree.py:205: classic int division if col_x/2 >= self.max_generations:
plugins/drawreport/StatisticsChart.py:739: classic int division half = (len(_Extract.extractors))/2
plugins/drawreport/StatisticsChart.py:547: the cmp argument is not supported in 3.x index.sort(self.lookup_compare)
plugins/drawreport/TimeLine.py:265: classic int division low = int((low/10))*10
plugins/drawreport/TimeLine.py:266: classic int division high = int(((high+9)/10))*10
plugins/drawreport/TimeLine.py:135: the cmp argument is not supported in 3.x self.plist.sort(self.sort_func)
plugins/drawreport/TimeLine.py:225: classic int division incr = (year_high - year_low)/5
plugins/gramplet/FanChartGramplet.py:301: classic int division self.draw_text(cr, name, radius - self.pixels_per_generation/2,
plugins/gramplet/FanChartGramplet.py:343: classic int division cr.move_to(- (width / pango.SCALE) / 2.0, - radius)
plugins/gramplet/FanChartGramplet.py:482: classic int division cx = w/2
plugins/gramplet/FanChartGramplet.py:483: classic int division cy = h/2
plugins/gramplet/GivenNameGramplet.py:86: the cmp argument is not supported in 3.x givensubname_sort.sort(lambda a,b: -cmp(a,b))
plugins/gramplet/GivenNameGramplet.py:94: the cmp argument is not supported in 3.x cloud_names.sort(lambda a,b: cmp(a[1], b[1]))
plugins/gramplet/PluginManagerGramplet.py:59: urllib.urlopen() has been removed in Python 3.0 in favor of urllib2.urlopen()
plugins/gramplet/SurnameCloudGramplet.py:99: the cmp argument is not supported in 3.x surname_sort.sort(lambda a,b: -cmp(a,b))
plugins/gramplet/SurnameCloudGramplet.py:107: the cmp argument is not supported in 3.x cloud_names.sort(lambda a,b: cmp(a[1], b[1]))
plugins/gramplet/TopSurnamesGramplet.py:83: the cmp argument is not supported in 3.x surname_sort.sort(lambda a,b: -cmp(a,b))
plugins/quickview/all_events.py:54: the cmp argument is not supported in 3.x event_list.sort(by_date)
plugins/quickview/all_events.py:95: the cmp argument is not supported in 3.x event_list.sort(fam_sort)
plugins/quickview/all_events.py:96: the cmp argument is not supported in 3.x event_list_children.sort(fam_sort)
plugins/lib/libcairodoc.py:1085: classic int division align_x = - layout_width / 2
plugins/lib/libcairodoc.py:1092: classic int division align_y = - layout_height / 2
plugins/textreport/PlaceReport.py:82: the cmp argument is not supported in 3.x self.place_handles.sort(self.sort.by_place_title)
plugins/textreport/PlaceReport.py:142: the cmp argument is not supported in 3.x event_handles.sort(self.sort.by_date)
plugins/textreport/PlaceReport.py:205: the cmp argument is not supported in 3.x person_list.sort(self.sort.by_last_name)
plugins/tool/ChangeTypes.py:100: the cmp argument is not supported in 3.x event_names.sort(locale.strcoll)
plugins/tool/ChangeTypes.py:116: RuntimeWarning: missing handler 'on_delete_event' "on_apply_clicked"  : self.on_apply_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/Desbrowser.py:85: RuntimeWarning: missing handler 'on_delete_event' "on_help_clicked"  : self.on_help_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/EventCmp.py:137: RuntimeWarning: missing handler 'on_view_delete_event' "destroy_passed_object"  : self.close will be fixed (libglade to gtkbuilder) ?
plugins/tool/EventCmp.py:137: RuntimeWarning: missing handler 'on_write_table' "destroy_passed_object"  : self.close will be fixed (libglade to gtkbuilder) ?
plugins/tool/EventCmp.py:240: RuntimeWarning: missing handler 'on_filters_delete_event' "on_help_clicked"  : self.on_help_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/EventCmp.py:240: RuntimeWarning: missing handler 'on_apply_clicked' "on_help_clicked"  : self.on_help_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/EventCmp.py:240: RuntimeWarning: missing handler 'on_editor_clicked' "on_help_clicked"  : self.on_help_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/EventCmp.py:240: RuntimeWarning: missing handler 'on_view_delete_event' "on_help_clicked"  : self.on_help_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/EventCmp.py:250: the cmp argument is not supported in 3.x self.my_list.sort(self.sort.by_last_name)
plugins/tool/EventCmp.py:373: the cmp argument is not supported in 3.x unsort_list.sort(by_value)
plugins/tool/FindDupes.py:146: RuntimeWarning: missing handlers 'on_delete_show_event', 'on_help_show_clicked', 'on_do_merge_clicked' "on_delete_merge_event" : self.close, will be fixed (libglade to gtkbuilder) ?
plugins/tool/FindDupes.py:571: RuntimeWarning: missing handlers 'on_delete_merge_event', 'on_help_clicked', 'on_merge_ok_clicked' "on_delete_show_event"  : self.close, will be fixed (libglade to gtkbuilder) ?
plugins/tool/NotRelated.py:91: Warning: g_value_type_compatible: assertion `G_TYPE_IS_VALUE (src_type)' failed topDialog.add_from_file(glade_file) GtkWarning: /build/buildd/gtk+2.0-2.16.1/gtk/gtkliststore.c:608: Unable to convert from (null) to gchararray topDialog.add_from_file(glade_file) will be fixed (libglade to gtkbuilder) ?
plugins/tool/NotRelated.py:91: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed topDialog.add_from_file(glade_file) will be fixed (libglade to gtkbuilder) ?
plugins/tool/NotRelated.py:95: RuntimeWarning: missing handler 'on_delete_event' "on_help_clicked"  : self.on_help_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/OwnerEditor.py:121: RuntimeWarning: missing handlers 'on_delete_event', 'on_menu_activate' "on_eventbox_button_press_event": self.on_button_press_event, will be fixed (libglade to gtkbuilder) ?
plugins/tool/OwnerEditor.py:128: RuntimeWarning: missing handlers 'on_delete_event','on_cancel_button_clicked', 'on_help_button_clicked', 'on_eventbox_button_press_event', 'on_ok_button_clicked' popup_menu.connect_signals({"on_menu_activate": self.on_menu_activate}) will be fixed (libglade to gtkbuilder) ?
plugins/tool/RemoveUnused.py:221: RuntimeWarning: missing handler 'on_result_delete_event' "on_find_button_clicked"  : self.find, will be fixed (libglade to gtkbuilder) ?
plugins/tool/SortEvents.py:121: the cmp argument is not supported in 3.x event_ref_list.sort(lambda x, y: self.sort_func(x.ref, y.ref))
plugins/tool/SortEvents.py:142: the cmp argument is not supported in 3.x event_ref_list.sort(lambda x, y: self.sort_func(x.ref, y.ref))
plugins/tool/SoundGen.py:84: RuntimeWarning: missing handler 'on_delete_event' "on_help_clicked"  : self.on_help_clicked, will be fixed (libglade to gtkbuilder) ?
plugins/tool/Verify.py:427: RuntimeWarning: missing handlers 'on_verify_ok_clicked', 'on_help_clicked' "destroy_passed_object"  : self.close, will be fixed (libglade to gtkbuilder) ?
plugins/tool/Verify.py:908: classic int division return (age_at_death/365 > self.old_age)
plugins/tool/Verify.py:965: classic int division return (age_at_death/365>self.old_unm and n_spouses==0)
plugins/tool/Verify.py:1078: classic int division abs(father_birth_date-mother_birth_date)/365 > self.hw_diff
plugins/tool/Verify.py:1170: classic int division ((marr_date - father_birth_date)/365 < self.yng_mar))
plugins/tool/Verify.py:1203: classic int division ((marr_date - father_birth_date)/365 > self.old_mar))
plugins/tool/Verify.py:1258: classic int division ((child_birth_date - father_birth_date)/365 > self.old_dad))
plugins/tool/Verify.py:1303: classic int division ((child_birth_date - father_birth_date)/365 < self.yng_dad))
plugins/tool/Verify.py:1427: classic int division child_birh_dates[0])/365
plugins/tool/Verify.py:1173: classic int division ((marr_date - mother_birth_date)/365 < self.yng_mar))
plugins/tool/Verify.py:1205: classic int division ((marr_date - mother_birth_date)/365 > self.old_mar))
plugins/tool/Verify.py:1450: classic int division max(child_birh_dates_diff)/365 > self.c_space)
plugins/tool/Verify.py:1264: classic int division ((child_birth_date - mother_birth_date)/365 > self.old_mom))
plugins/tool/Verify.py:1309: classic int division ((child_birth_date - mother_birth_date)/365 < self.yng_mom))
plugins/view/GrampletView.py:1184: the cmp argument is not supported in 3.x gramplets.sort(lambda a, b: cmp(a.row, b.row))
plugins/view/GrampletView.py:1330: classic int division if x < (sx/len(self.columns) * (i + 1)):
plugins/view/pedigreeview.py:1053: classic int division _delta = (2**size) / (2**level) **
plugins/view/pedigreeview.py:1058: classic int division y_pos = _delta / 2 + offset * _delta - 1 **
plugins/view/pedigreeview.py:1076: classic int division lst[((i+1)/2)-1]) or self.tree_style == 1): **
plugins/view/pedigreeview.py:1087: classic int division if i > 0 and lst[((i+1)/2)-1]: **
plugins/view/pedigreeview.py:1089: classic int division fam = lst[((i+1)/2)-1][2] **
plugins/view/pedigreeview.py:1095: classic int division lst[((i+1)/2)-1][0].get_handle(), fam_h) **
plugins/view/pedigreeview.py:1104: classic int division (i < ((2**size-1)/2) or self.tree_style == 2): **
plugins/view/pedigreeview.py:1173: classic int division elif self.tree_style in [0, 2] and lst[((i+1)/2)-1]: **
plugins/view/pedigreeview.py:1176: classic int division y_pos = offset * _delta - (_delta / 2) - 1 **
plugins/view/pedigreeview.py:1191: classic int division line = LineWidget(lst[((i+1)/2)-1][4], **
plugins/view/pedigreeview.py:1230: classic int division y_pos = _delta / 2 + offset * _delta -1 + _height / 2 **
plugins/view/pedigreeview.py:1272: classic int division ymid = int(math.floor(ymax/2)) **
plugins/view/pedigreeview.py:1285: classic int division ymid = int(math.floor(ymax/4)) **
plugins/view/pedigreeview.py:1298: classic int division ymid = int(math.floor(ymax/4*3)) **
plugins/webreport/NarrativeWeb.py:318: the cmp argument is not supported in 3.x sorted_first_letter.sort(locale.strcoll)
plugins/webreport/NarrativeWeb.py:341: classic int division nrows = (num_ltrs / 26) + 1
plugins/webreport/NarrativeWeb.py:3630: the cmp argument is not supported in 3.x temp_list.sort(locale.strcoll)
plugins/webreport/NarrativeWeb.py:3633: the cmp argument is not supported in 3.x slist.sort(lambda x, y: locale.strcoll(x[0], y[0]))
plugins/webreport/NarrativeWeb.py:2053: classic int division center = int(max_size/2)
plugins/webreport/NarrativeWeb.py:2068: classic int division gen_offset = int(max_size / pow(2, gen_nr+1))
plugins/webreport/NarrativeWeb.py:1981: classic int division top = center - _HEIGHT/2
plugins/webreport/NarrativeWeb.py:2017: classic int division (y0, x0, _HGAP/2))
plugins/webreport/NarrativeWeb.py:2019: classic int division (y0+_SHADOW, x0, _HGAP/2+_SHADOW))
plugins/webreport/NarrativeWeb.py:2027: classic int division x0 = _XOFFSET + col * _WIDTH + (col-1)*_HGAP + _HGAP/2
plugins/webreport/NarrativeWeb.py:2029: classic int division (y1, x0, _HGAP/2))
plugins/webreport/NarrativeWeb.py:2031: classic int division (y1+_SHADOW, x0+_SHADOW, _HGAP/2+_SHADOW))
plugins/webreport/NarrativeWeb.py:1574: the cmp argument is not supported in 3.x temp_keys.sort(locale.strcoll)
plugins/webreport/NarrativeWeb.py:1127: the cmp argument is not supported in 3.x handle_list.sort(sort.by_place_title)
plugins/webreport/NarrativeWeb.py:738: the cmp argument is not supported in 3.x cmp = locale.strcoll)
plugins/webreport/NarrativeWeb.py:1699: the cmp argument is not supported in 3.x keys.sort(locale.strcoll)
plugins/webreport/NarrativeWeb.py:1809: the cmp argument is not supported in 3.x mlist.sort(sort.by_media_title)
plugins/webreport/NarrativeWeb.py:3142: the cmp argument is not supported in 3.x photo_keys.sort(sort.by_media_title)
plugins/webreport/WebCal.py:1846: comparing unequal types not supported in 3.x day_list.sort()
QuickReports.py:94: the cmp argument is not supported in 3.x showlst.sort(by_menu_name)
RecentFiles.py:55: Overriding __cmp__ blocks inheritance of __hash__ in 3.x class RecentItem(object): **
ReportBase/_ReportUtils.py:1820: classic int division amount = int(num / vals[i])
ScratchPad.py:1232: RuntimeWarning: missing handler 'on_scratch_pad_delete_event' "on_help_clicked": self.on_help_clicked, *
ScratchPad.py:1232: RuntimeWarning: missing handler 'on_clear_all_clicked' "on_help_clicked": self.on_help_clicked, *
Utils.py:1198: the cmp argument is not supported in 3.x keys.sort(lambda a,b: -cmp(len(a), len(b)))
widgets/monitoredwidgets.py:534: the cmp argument is not supported in 3.x keys.sort(self.__by_value) *


_*2009-07-01 _**2010-11-26