diff options
author | flavio <fdanesse@gmail.com> | 2012-10-22 22:49:46 (GMT) |
---|---|---|
committer | flavio <fdanesse@gmail.com> | 2012-10-22 22:49:46 (GMT) |
commit | bea7e9041a7dbde5832e1d0a0f8897276dd621e3 (patch) | |
tree | 5cdc436e456b4445adb61a83efc094781fb55f05 /SugarMoonActivity.py | |
parent | 8aa2f60cc446f39f7f55a486f0c1d116a02befb1 (diff) |
Corrección de Tabulaciones
Diffstat (limited to 'SugarMoonActivity.py')
-rw-r--r-- | SugarMoonActivity.py | 602 |
1 files changed, 308 insertions, 294 deletions
diff --git a/SugarMoonActivity.py b/SugarMoonActivity.py index 6637606..0c21693 100644 --- a/SugarMoonActivity.py +++ b/SugarMoonActivity.py @@ -48,297 +48,311 @@ except (ImportError, AttributeError): import simplejson as json class MoonActivity(activity.Activity): - def __init__(self, handle): - activity.Activity.__init__(self, handle, True) - self.set_title(_("Luna")) - self.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - self.main_view = None - self.mooncalendar = None - self.info_panel = None - self.info = None - self.luna_hoy = None - self.label_emisferio = None - self.aspectframe = None - self.bufferinfo = None - - self.activity_state = {} - self.max_participants = 1 - - self.set_layout() - - self.show_all() - self.realize() - self.maximize() - - self.connect("delete_event", self.delete_event) - self.luna_hoy.connect("expose_event", self.repaint) - - self.actualizador = gobject.timeout_add(1000, self.handle) - - def set_layout(self): - anio, mes, fecha, hora = MG.get_date_time_now() - self.luna_hoy = CalendarButton(anio, mes, fecha, hora) - self.mooncalendar = MoonCalendar() - self.aspectframe = gtk.AspectFrame() - self.aspectframe.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - self.aspectframe.add(self.luna_hoy) - - cajabase = gtk.VBox() - self.main_view = gtk.HBox() - cajabase.pack_end(self.main_view, True, True, 5) - - try: # Sugar 86 en adelante - from sugar.graphics.toolbarbox import ToolbarBox - from sugar.activity.widgets import StopButton - from sugar.activity.widgets import ActivityToolbarButton - - toolbox = ToolbarBox() - activity_button = ActivityToolbarButton(self) - activity_button.show() - toolbox.toolbar.insert(activity_button, 0) - - boton = gtk.ToggleToolButton() - pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32) - imagen = gtk.Image() - imagen.set_from_pixbuf(pixbuf) - boton.set_icon_widget(imagen) - imagen.show() - boton.show() - toolbox.toolbar.insert(boton, -1) - boton.connect("clicked", self.toggle_grid_clicked) - boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - boton = gtk.ToggleToolButton() - pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'hemi-ico.svg'), 32, 32) - imagen = gtk.Image() - imagen.set_from_pixbuf(pixbuf) - boton.set_icon_widget(imagen) - imagen.show() - boton.show() - toolbox.toolbar.insert(boton, -1) - boton.connect("clicked", self.toggle_hemisphere_clicked) - boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - boton = gtk.ToggleToolButton() - pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'calendario-ico.svg'), 32, 32) - imagen = gtk.Image() - imagen.set_from_pixbuf(pixbuf) - boton.set_icon_widget(imagen) - imagen.show() - boton.show() - toolbox.toolbar.insert(boton, -1) - boton.connect("clicked", self.switch_calendar_luna) - boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - self.label_emisferio = gtk.Label() - item = gtk.ToolItem() - item.add(self.label_emisferio) - toolbox.toolbar.insert(item, -1) - self.label_emisferio.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - self.label_emisferio.modify_fg(gtk.STATE_NORMAL, MG.FOREGROUND) - self.label_emisferio.show() - - separator = gtk.SeparatorToolItem() - separator.props.draw = False - separator.set_size_request(0, -1) - separator.set_expand(True) - toolbox.toolbar.insert(separator, -1) - - toolbox.toolbar.insert(StopButton(self), -1) - - self.set_toolbar_box(toolbox) - toolbox.show_all() - - except: # Hasta Sugar 84 - view_tool_bar = gtk.Toolbar() - view_tool_bar.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - boton = gtk.ToggleToolButton() - pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32) - imagen = gtk.Image() - imagen.set_from_pixbuf(pixbuf) - boton.set_icon_widget(imagen) - imagen.show() - boton.show() - view_tool_bar.append_item("", "", "",boton, self.toggle_grid_clicked, user_data=None) - boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - boton = gtk.ToggleToolButton() - pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'hemi-ico.svg'), 32, 32) - imagen = gtk.Image() - imagen.set_from_pixbuf(pixbuf) - boton.set_icon_widget(imagen) - imagen.show() - boton.show() - view_tool_bar.append_item("", _(""), "",boton, self.toggle_hemisphere_clicked, user_data=None) - boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - boton = gtk.ToggleToolButton() - pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32) - imagen = gtk.Image() - imagen.set_from_pixbuf(pixbuf) - boton.set_icon_widget(imagen) - imagen.show() - boton.show() - view_tool_bar.append_item("", "", "",boton, self.switch_calendar_luna, user_data=None) - boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - - self.label_emisferio = gtk.Label() - view_tool_bar.append_widget(self.label_emisferio, None, None) - self.label_emisferio.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - self.label_emisferio.modify_fg(gtk.STATE_NORMAL, MG.FOREGROUND) - self.label_emisferio.show() - - view_tool_bar.show_all() - toolbox = activity.ActivityToolbox(self) - toolbox.add_toolbar(_("Luna"), view_tool_bar) - self.set_toolbox(toolbox) - toolbox.show() - - info_scroll = gtk.ScrolledWindow() - info_scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) - self.info_panel = gtk.VBox() - self.info = gtk.TextView() - self.info.set_property("sensitive", False) - self.info.set_border_window_size(gtk.TEXT_WINDOW_TOP, 10) - self.info.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 10) - self.info.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 10) - self.info.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 10) - self.info_panel.pack_start(self.info, False, False, 0) - info_scroll.add_with_viewport(self.info_panel) - - event = gtk.EventBox() - event.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) - event.add(self.aspectframe) - self.main_view.pack_start(info_scroll, False, False, 5) - self.main_view.pack_end(event, True, True, 5) - self.set_canvas(cajabase) - - self.bufferinfo = gtk.TextBuffer() - self.info.set_buffer(self.bufferinfo) - self.mooncalendar.set_mes(anio, mes, fecha, hora) - self.update_text_information_view() - - self.activity_state['hemisphereView'] = self.luna_hoy.hemisphere_view - self.activity_state['showGrid'] = self.luna_hoy.show_grid - self.read_and_parse_prefs(os.environ['SUGAR_ACTIVITY_ROOT'] + '/data/defaults') - - def toggle_grid_clicked(self, widget= None): - self.luna_hoy.toggle_grid_clicked() - self.mooncalendar.toggle_grid_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children()) - - def toggle_hemisphere_clicked(self, widget= None): - self.luna_hoy.toggle_hemisphere_clicked() - self.mooncalendar.toggle_hemisphere_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children()) - - def switch_calendar_luna(self, widget): - if self.mooncalendar in self.aspectframe.get_children(): - self.aspectframe.remove(self.mooncalendar) - self.aspectframe.add(self.luna_hoy) - self.luna_hoy.show_all() - elif self.luna_hoy in self.aspectframe.get_children(): - self.aspectframe.remove(self.luna_hoy) - self.aspectframe.add(self.mooncalendar) - self.mooncalendar.show_all() - self.show_all() - self.realize() - - def handle(self): - self.update_text_information_view() - if self.luna_hoy in self.aspectframe.get_children(): - self.luna_hoy.actualizar() - return True - - def repaint(self, widget= None, event= None): - x,y,w,h= self.luna_hoy.get_allocation() - anchoboton, altoboton = (w,h) - tamanioboton = min( [anchoboton,altoboton] ) - self.luna_hoy.repaint(tamanioboton) - - def delete_event(self, widget, event, data=None): - sys.exit(0) - return False - - def update_text_information_view(self): - anio, mes, fecha, hora = MG.get_date_time_now() - hoy = "%s-%s-%s %s" % (anio, mes, fecha, hora) - ahora = time.mktime(time.strptime(hoy, MG.format)) - - self.luna_hoy.data_model.update_moon_calculations(ahora) - - information = "" - information += "%s:\n\n" % (_("Today's Moon Information")) - information += "%s\n\n" % (MG.get_date_time()) - information += "%s:\n%s\n\n" % (_("Phase"), self.luna_hoy.data_model.moon_phase_name(self.luna_hoy.data_model.phase_of_moon)) - information += "%s:\n%.2f (%s)\n\n" % (_("Julian Date"), self.luna_hoy.data_model.julian_date, _("astronomical")) - - information += "%s:\n" % (_("Age")) - dias = self.luna_hoy.data_model.days_old - horas = self.luna_hoy.data_model.hours_old - minutos = self.luna_hoy.data_model.minutes_old - information += "%i %s, %i %s, %i %s.\n\n" % (dias, _("days"), horas, _("hours"), minutos, _("minutes")) - - phase = self.luna_hoy.data_model.phase_of_moon * 100 - lunation = self.luna_hoy.data_model.lunation - information += "%s:\n" % (_("Lunation")) - information += "%.2f%s %s %d.\n\n" % (phase, "%", _("through lunation"), lunation) - - information += "%s:\n" % (_("Surface Visibility")) - information += "%.0f%s (%s)\n\n" % (self.luna_hoy.data_model.percent_of_full_moon * 100, "%", _("estimated")) - - #information += _("Surface Visibility:\n%.0f%% (estimated)\n\n") % (self.luna_hoy.data_model.percent_of_full_moon * 100) - - selen = {'deg':self.luna_hoy.data_model.selenographic_deg, 'westOrEast':self.luna_hoy.data_model.west_or_east, - 'riseOrSet':self.luna_hoy.data_model.rise_or_set} - information += _(u"Selenographic Terminator Longitude:\n%(deg).1f\u00b0%(westOrEast)s (%(riseOrSet)s)\n\n") % selen - - full = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_full_moon_date)), - 'days':self.luna_hoy.data_model.days_until_full_moon} - information += _("Next Full Moon:\n%(date)s in %(days).0f days\n\n") % full - - new = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_new_moon_date)), - 'days':self.luna_hoy.data_model.days_until_new_moon} - information += _("Next New Moon:\n%(date)s in %(days).0f days\n\n") % new - - lunare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_lunar_eclipse_date)), - 'days':self.luna_hoy.data_model.days_until_lunar_eclipse} - information += _("Next Lunar eclipse:\n%(date)s in %(days).0f days\n\n") % lunare - - solare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_solar_eclipse_date)), - 'days':self.luna_hoy.data_model.days_until_solar_eclipse} - information += _("Next Solar eclipse:\n%(date)s in %(days).0f days") % solare - - self.bufferinfo.set_text(information) - self.label_emisferio.set_text( " %s: %s" % (_("Vista Hemisferio"),_(self.luna_hoy.hemisphere_view)) ) - - def read_and_parse_prefs(self, file_path): - try: - read_file = open(file_path, 'r') - self.activity_state = json.loads(read_file.read()) - if self.activity_state.has_key('hemisphereView'): - self.luna_hoy.hemisphere_view = self.activity_state['hemisphereView'] - if self.activity_state.has_key('showGrid'): - self.luna_hoy.show_grid = self.activity_state['showGrid'] - read_file.close() - except: - pass - - def read_file(self, file_path): - self.read_and_parse_prefs(file_path) - - def write_file(self, file_path): - self.activity_state['hemisphereView'] = self.luna_hoy.hemisphere_view - self.activity_state['showGrid'] = self.luna_hoy.show_grid - serialised_data = json.dumps(self.activity_state) - to_journal = file(file_path, 'w') - try: - to_journal.write(serialised_data) - finally: - to_journal.close() - to_persistent_fs = file(os.environ['SUGAR_ACTIVITY_ROOT'] + '/data/defaults', 'w') - try: - to_persistent_fs.write(serialised_data) - finally: - to_persistent_fs.close() - + + def __init__(self, handle): + + activity.Activity.__init__(self, handle, True) + + self.set_title(_("Luna")) + self.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + self.main_view = None + self.mooncalendar = None + self.info_panel = None + self.info = None + self.luna_hoy = None + self.label_emisferio = None + self.aspectframe = None + self.bufferinfo = None + + self.activity_state = {} + self.max_participants = 1 + + self.set_layout() + + self.show_all() + self.realize() + self.maximize() + + self.connect("delete_event", self.delete_event) + self.luna_hoy.connect("expose_event", self.repaint) + + self.actualizador = gobject.timeout_add(1000, self.handle) + + def set_layout(self): + + anio, mes, fecha, hora = MG.get_date_time_now() + self.luna_hoy = CalendarButton(anio, mes, fecha, hora) + self.mooncalendar = MoonCalendar() + self.aspectframe = gtk.AspectFrame() + self.aspectframe.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + self.aspectframe.add(self.luna_hoy) + + cajabase = gtk.VBox() + self.main_view = gtk.HBox() + cajabase.pack_end(self.main_view, True, True, 5) + + try: # Sugar 86 en adelante + from sugar.graphics.toolbarbox import ToolbarBox + from sugar.activity.widgets import StopButton + from sugar.activity.widgets import ActivityToolbarButton + + toolbox = ToolbarBox() + activity_button = ActivityToolbarButton(self) + activity_button.show() + toolbox.toolbar.insert(activity_button, 0) + + boton = gtk.ToggleToolButton() + pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32) + imagen = gtk.Image() + imagen.set_from_pixbuf(pixbuf) + boton.set_icon_widget(imagen) + imagen.show() + boton.show() + toolbox.toolbar.insert(boton, -1) + boton.connect("clicked", self.toggle_grid_clicked) + boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + boton = gtk.ToggleToolButton() + pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'hemi-ico.svg'), 32, 32) + imagen = gtk.Image() + imagen.set_from_pixbuf(pixbuf) + boton.set_icon_widget(imagen) + imagen.show() + boton.show() + toolbox.toolbar.insert(boton, -1) + boton.connect("clicked", self.toggle_hemisphere_clicked) + boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + boton = gtk.ToggleToolButton() + pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'calendario-ico.svg'), 32, 32) + imagen = gtk.Image() + imagen.set_from_pixbuf(pixbuf) + boton.set_icon_widget(imagen) + imagen.show() + boton.show() + toolbox.toolbar.insert(boton, -1) + boton.connect("clicked", self.switch_calendar_luna) + boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + self.label_emisferio = gtk.Label() + item = gtk.ToolItem() + item.add(self.label_emisferio) + toolbox.toolbar.insert(item, -1) + self.label_emisferio.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + self.label_emisferio.modify_fg(gtk.STATE_NORMAL, MG.FOREGROUND) + self.label_emisferio.show() + + separator = gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_size_request(0, -1) + separator.set_expand(True) + toolbox.toolbar.insert(separator, -1) + + toolbox.toolbar.insert(StopButton(self), -1) + + self.set_toolbar_box(toolbox) + toolbox.show_all() + + except: # Hasta Sugar 84 + view_tool_bar = gtk.Toolbar() + view_tool_bar.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + boton = gtk.ToggleToolButton() + pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32) + imagen = gtk.Image() + imagen.set_from_pixbuf(pixbuf) + boton.set_icon_widget(imagen) + imagen.show() + boton.show() + view_tool_bar.append_item("", "", "",boton, self.toggle_grid_clicked, user_data=None) + boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + boton = gtk.ToggleToolButton() + pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'hemi-ico.svg'), 32, 32) + imagen = gtk.Image() + imagen.set_from_pixbuf(pixbuf) + boton.set_icon_widget(imagen) + imagen.show() + boton.show() + view_tool_bar.append_item("", _(""), "",boton, self.toggle_hemisphere_clicked, user_data=None) + boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + boton = gtk.ToggleToolButton() + pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32) + imagen = gtk.Image() + imagen.set_from_pixbuf(pixbuf) + boton.set_icon_widget(imagen) + imagen.show() + boton.show() + view_tool_bar.append_item("", "", "",boton, self.switch_calendar_luna, user_data=None) + boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + + self.label_emisferio = gtk.Label() + view_tool_bar.append_widget(self.label_emisferio, None, None) + self.label_emisferio.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + self.label_emisferio.modify_fg(gtk.STATE_NORMAL, MG.FOREGROUND) + self.label_emisferio.show() + + view_tool_bar.show_all() + toolbox = activity.ActivityToolbox(self) + toolbox.add_toolbar(_("Luna"), view_tool_bar) + self.set_toolbox(toolbox) + toolbox.show() + + info_scroll = gtk.ScrolledWindow() + info_scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + self.info_panel = gtk.VBox() + self.info = gtk.TextView() + self.info.set_property("sensitive", False) + self.info.set_border_window_size(gtk.TEXT_WINDOW_TOP, 10) + self.info.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 10) + self.info.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 10) + self.info.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 10) + self.info_panel.pack_start(self.info, False, False, 0) + info_scroll.add_with_viewport(self.info_panel) + + event = gtk.EventBox() + event.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND) + event.add(self.aspectframe) + self.main_view.pack_start(info_scroll, False, False, 5) + self.main_view.pack_end(event, True, True, 5) + self.set_canvas(cajabase) + + self.bufferinfo = gtk.TextBuffer() + self.info.set_buffer(self.bufferinfo) + self.mooncalendar.set_mes(anio, mes, fecha, hora) + self.update_text_information_view() + + self.activity_state['hemisphereView'] = self.luna_hoy.hemisphere_view + self.activity_state['showGrid'] = self.luna_hoy.show_grid + self.read_and_parse_prefs(os.environ['SUGAR_ACTIVITY_ROOT'] + '/data/defaults') + + def toggle_grid_clicked(self, widget= None): + + self.luna_hoy.toggle_grid_clicked() + self.mooncalendar.toggle_grid_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children()) + + def toggle_hemisphere_clicked(self, widget= None): + + self.luna_hoy.toggle_hemisphere_clicked() + self.mooncalendar.toggle_hemisphere_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children()) + + def switch_calendar_luna(self, widget): + + if self.mooncalendar in self.aspectframe.get_children(): + self.aspectframe.remove(self.mooncalendar) + self.aspectframe.add(self.luna_hoy) + self.luna_hoy.show_all() + elif self.luna_hoy in self.aspectframe.get_children(): + self.aspectframe.remove(self.luna_hoy) + self.aspectframe.add(self.mooncalendar) + self.mooncalendar.show_all() + self.show_all() + self.realize() + + def handle(self): + + self.update_text_information_view() + if self.luna_hoy in self.aspectframe.get_children(): + self.luna_hoy.actualizar() + return True + + def repaint(self, widget= None, event= None): + + x,y,w,h= self.luna_hoy.get_allocation() + anchoboton, altoboton = (w,h) + tamanioboton = min( [anchoboton,altoboton] ) + self.luna_hoy.repaint(tamanioboton) + + def delete_event(self, widget, event, data=None): + + sys.exit(0) + return False + + def update_text_information_view(self): + + anio, mes, fecha, hora = MG.get_date_time_now() + hoy = "%s-%s-%s %s" % (anio, mes, fecha, hora) + ahora = time.mktime(time.strptime(hoy, MG.format)) + + self.luna_hoy.data_model.update_moon_calculations(ahora) + + information = "" + information += "%s:\n\n" % (_("Today's Moon Information")) + information += "%s\n\n" % (MG.get_date_time()) + information += "%s:\n%s\n\n" % (_("Phase"), self.luna_hoy.data_model.moon_phase_name(self.luna_hoy.data_model.phase_of_moon)) + information += "%s:\n%.2f (%s)\n\n" % (_("Julian Date"), self.luna_hoy.data_model.julian_date, _("astronomical")) + + information += "%s:\n" % (_("Age")) + dias = self.luna_hoy.data_model.days_old + horas = self.luna_hoy.data_model.hours_old + minutos = self.luna_hoy.data_model.minutes_old + information += "%i %s, %i %s, %i %s.\n\n" % (dias, _("days"), horas, _("hours"), minutos, _("minutes")) + + phase = self.luna_hoy.data_model.phase_of_moon * 100 + lunation = self.luna_hoy.data_model.lunation + information += "%s:\n" % (_("Lunation")) + information += "%.2f%s %s %d.\n\n" % (phase, "%", _("through lunation"), lunation) + + information += "%s:\n" % (_("Surface Visibility")) + information += "%.0f%s (%s)\n\n" % (self.luna_hoy.data_model.percent_of_full_moon * 100, "%", _("estimated")) + + #information += _("Surface Visibility:\n%.0f%% (estimated)\n\n") % (self.luna_hoy.data_model.percent_of_full_moon * 100) + + selen = {'deg':self.luna_hoy.data_model.selenographic_deg, 'westOrEast':self.luna_hoy.data_model.west_or_east, + 'riseOrSet':self.luna_hoy.data_model.rise_or_set} + information += _(u"Selenographic Terminator Longitude:\n%(deg).1f\u00b0%(westOrEast)s (%(riseOrSet)s)\n\n") % selen + + full = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_full_moon_date)), + 'days':self.luna_hoy.data_model.days_until_full_moon} + information += _("Next Full Moon:\n%(date)s in %(days).0f days\n\n") % full + + new = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_new_moon_date)), + 'days':self.luna_hoy.data_model.days_until_new_moon} + information += _("Next New Moon:\n%(date)s in %(days).0f days\n\n") % new + + lunare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_lunar_eclipse_date)), + 'days':self.luna_hoy.data_model.days_until_lunar_eclipse} + information += _("Next Lunar eclipse:\n%(date)s in %(days).0f days\n\n") % lunare + + solare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_solar_eclipse_date)), + 'days':self.luna_hoy.data_model.days_until_solar_eclipse} + information += _("Next Solar eclipse:\n%(date)s in %(days).0f days") % solare + + self.bufferinfo.set_text(information) + self.label_emisferio.set_text( " %s: %s" % (_("Vista Hemisferio"),_(self.luna_hoy.hemisphere_view)) ) + + def read_and_parse_prefs(self, file_path): + + try: + read_file = open(file_path, 'r') + self.activity_state = json.loads(read_file.read()) + if self.activity_state.has_key('hemisphereView'): + self.luna_hoy.hemisphere_view = self.activity_state['hemisphereView'] + if self.activity_state.has_key('showGrid'): + self.luna_hoy.show_grid = self.activity_state['showGrid'] + read_file.close() + except: + pass + + def read_file(self, file_path): + + self.read_and_parse_prefs(file_path) + + def write_file(self, file_path): + + self.activity_state['hemisphereView'] = self.luna_hoy.hemisphere_view + self.activity_state['showGrid'] = self.luna_hoy.show_grid + serialised_data = json.dumps(self.activity_state) + to_journal = file(file_path, 'w') + try: + to_journal.write(serialised_data) + finally: + to_journal.close() + to_persistent_fs = file(os.environ['SUGAR_ACTIVITY_ROOT'] + '/data/defaults', 'w') + try: + to_persistent_fs.write(serialised_data) + finally: + to_persistent_fs.close() +
\ No newline at end of file |