Compare commits
7 commits
2a9f5822e5
...
c6edcc2d39
| Author | SHA1 | Date | |
|---|---|---|---|
| c6edcc2d39 | |||
| 7eb6b42e96 | |||
| 1d4b9c64f2 | |||
| fc1f3ebc5f | |||
| eeee27a08c | |||
| 319389af08 | |||
| d1693a4bfb |
18 changed files with 98 additions and 114 deletions
10
.gitignore
vendored
10
.gitignore
vendored
|
|
@ -1,2 +1,12 @@
|
||||||
__pycache__
|
__pycache__
|
||||||
*.swp
|
*.swp
|
||||||
|
.pybuild/
|
||||||
|
calcool.egg-info/
|
||||||
|
debian/.debhelper/
|
||||||
|
debian/calcool.postinst.debhelper
|
||||||
|
debian/calcool.prerm.debhelper
|
||||||
|
debian/calcool.substvars
|
||||||
|
debian/calcool/
|
||||||
|
debian/debhelper-build-stamp
|
||||||
|
debian/files
|
||||||
|
build/
|
||||||
|
|
|
||||||
4
.quickly
4
.quickly
|
|
@ -1,4 +0,0 @@
|
||||||
project = calcool
|
|
||||||
template = ubuntu-application
|
|
||||||
lp_id = calcool
|
|
||||||
version = 12.06
|
|
||||||
49
bin/calcool
49
bin/calcool
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/python
|
#! /usr/bin/python3
|
||||||
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
|
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
|
||||||
### BEGIN LICENSE
|
### BEGIN LICENSE
|
||||||
# Copyright (C) 2010 jan gerber <j@mailb.org>
|
# Copyright (C) 2010 jan gerber <j@mailb.org>
|
||||||
|
|
@ -14,12 +14,15 @@
|
||||||
# You should have received a copy of the GNU General Public License along
|
# You should have received a copy of the GNU General Public License along
|
||||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
### END LICENSE
|
### END LICENSE
|
||||||
from __future__ import division
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import gtk
|
|
||||||
|
|
||||||
from gtksourceview2 import View as GtkSourceView
|
import gi
|
||||||
|
gi.require_version("Gtk", "3.0")
|
||||||
|
from gi.repository import Gtk as gtk
|
||||||
|
gi.require_version("GtkSource", "4")
|
||||||
|
from gi.repository import GtkSource
|
||||||
|
GtkSourceView = GtkSource.View()
|
||||||
|
|
||||||
from math import *
|
from math import *
|
||||||
safe_list = ['math','acos', 'asin', 'atan', 'atan2', 'ceil', 'cos',
|
safe_list = ['math','acos', 'asin', 'atan', 'atan2', 'ceil', 'cos',
|
||||||
|
|
@ -51,7 +54,6 @@ from calcool.calcoolconfig import getdatapath
|
||||||
class CalcoolWindow(gtk.Window):
|
class CalcoolWindow(gtk.Window):
|
||||||
__gtype_name__ = "CalcoolWindow"
|
__gtype_name__ = "CalcoolWindow"
|
||||||
|
|
||||||
record_type = "http://wiki.ubuntu.com/Quickly/CalcoolDocument"
|
|
||||||
database_name = "calcool"
|
database_name = "calcool"
|
||||||
filename = ''
|
filename = ''
|
||||||
|
|
||||||
|
|
@ -96,19 +98,19 @@ class CalcoolWindow(gtk.Window):
|
||||||
def update_output(self):
|
def update_output(self):
|
||||||
self.builder.get_object('status').set_text('Calculating...')
|
self.builder.get_object('status').set_text('Calculating...')
|
||||||
txt = self.builder.get_object('input').get_buffer()
|
txt = self.builder.get_object('input').get_buffer()
|
||||||
text = txt.get_text(txt.get_start_iter(), txt.get_end_iter())
|
text = txt.get_text(txt.get_start_iter(), txt.get_end_iter(), 0)
|
||||||
rows = text.split('\n')
|
rows = text.split('\n')
|
||||||
otxt = []
|
otxt = []
|
||||||
computed_values = []
|
computed_values = []
|
||||||
def expand_lines(line):
|
def expand_lines(line):
|
||||||
return re.sub('line(\d+)', lambda m: 'line%010d'%int(m.groups(0)[0]), line)
|
return re.sub(r'line(\d+)', lambda m: 'line%010d'%int(m.groups(0)[0]), line)
|
||||||
def resolve_row(r, line):
|
def resolve_row(r, line):
|
||||||
#if r not in self._results:
|
#if r not in self._results:
|
||||||
try:
|
try:
|
||||||
r_ = r
|
r_ = r
|
||||||
r_ = expand_lines(r_)
|
r_ = expand_lines(r_)
|
||||||
|
|
||||||
match = re.compile('line(\d+)').findall(r)
|
match = re.compile(r'line(\d+)').findall(r)
|
||||||
match = filter(lambda l: int(l) <= len(rows), match)
|
match = filter(lambda l: int(l) <= len(rows), match)
|
||||||
if match:
|
if match:
|
||||||
for l in match:
|
for l in match:
|
||||||
|
|
@ -117,7 +119,7 @@ class CalcoolWindow(gtk.Window):
|
||||||
value = '(%s)' % expand_lines(rows[l-1])
|
value = '(%s)' % expand_lines(rows[l-1])
|
||||||
r_ = r_.replace('line%010d' % l, value)
|
r_ = r_.replace('line%010d' % l, value)
|
||||||
r_ = resolve_row(r_, line)
|
r_ = resolve_row(r_, line)
|
||||||
#print r, r_
|
#print (r, r_)
|
||||||
result = str(eval(r_, {"__builtins__":None}, safe_dict))
|
result = str(eval(r_, {"__builtins__":None}, safe_dict))
|
||||||
|
|
||||||
#highlight computed values
|
#highlight computed values
|
||||||
|
|
@ -134,9 +136,9 @@ class CalcoolWindow(gtk.Window):
|
||||||
output.set_text('\n'.join(otxt))
|
output.set_text('\n'.join(otxt))
|
||||||
|
|
||||||
tagTable = output.get_tag_table()
|
tagTable = output.get_tag_table()
|
||||||
computed = tagTable.lookup('computed')
|
computed = tagTable.lookup(name='computed')
|
||||||
if not computed:
|
if not computed:
|
||||||
computed = gtk.TextTag('computed')
|
computed = gtk.TextTag(name='computed')
|
||||||
computed.set_property('weight', 700) # pango.WEIGHT_BOLD = 700
|
computed.set_property('weight', 700) # pango.WEIGHT_BOLD = 700
|
||||||
tagTable.add(computed)
|
tagTable.add(computed)
|
||||||
|
|
||||||
|
|
@ -158,7 +160,7 @@ class CalcoolWindow(gtk.Window):
|
||||||
|
|
||||||
def load_file(self, filename):
|
def load_file(self, filename):
|
||||||
with open(filename) as f:
|
with open(filename) as f:
|
||||||
text = f.read().decode('utf-8')
|
text = f.read()
|
||||||
#set the UI to display the string
|
#set the UI to display the string
|
||||||
buff = self.builder.get_object("input").get_buffer()
|
buff = self.builder.get_object("input").get_buffer()
|
||||||
buff.set_text(text)
|
buff.set_text(text)
|
||||||
|
|
@ -166,10 +168,9 @@ class CalcoolWindow(gtk.Window):
|
||||||
self.filename = filename
|
self.filename = filename
|
||||||
|
|
||||||
def open_file(self, widget, data=None):
|
def open_file(self, widget, data=None):
|
||||||
dialog = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_OPEN,
|
dialog = gtk.FileChooserDialog(title=None,action=gtk.FileChooserAction.OPEN)
|
||||||
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
|
dialog.add_buttons(gtk.STOCK_CANCEL,gtk.ResponseType.CANCEL,gtk.STOCK_OPEN,gtk.ResponseType.OK)
|
||||||
|
dialog.set_default_response(gtk.ResponseType.OK)
|
||||||
dialog.set_default_response(gtk.RESPONSE_OK)
|
|
||||||
|
|
||||||
filter = gtk.FileFilter()
|
filter = gtk.FileFilter()
|
||||||
filter.set_name("Calcool Documents")
|
filter.set_name("Calcool Documents")
|
||||||
|
|
@ -183,7 +184,7 @@ class CalcoolWindow(gtk.Window):
|
||||||
dialog.add_filter(filter)
|
dialog.add_filter(filter)
|
||||||
|
|
||||||
response = dialog.run()
|
response = dialog.run()
|
||||||
if response == gtk.RESPONSE_OK:
|
if response == gtk.ResponseType.OK:
|
||||||
filename = dialog.get_filename()
|
filename = dialog.get_filename()
|
||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
self.load_file(filename)
|
self.load_file(filename)
|
||||||
|
|
@ -201,13 +202,13 @@ class CalcoolWindow(gtk.Window):
|
||||||
start_iter = buff.get_start_iter()
|
start_iter = buff.get_start_iter()
|
||||||
end_iter = buff.get_end_iter()
|
end_iter = buff.get_end_iter()
|
||||||
|
|
||||||
text = buff.get_text(start_iter,end_iter)
|
text = buff.get_text(start_iter,end_iter, 0)
|
||||||
with open(self.filename, "w") as f:
|
with open(self.filename, "wb") as f:
|
||||||
f.write(text.encode('utf-8'))
|
f.write(text.encode('utf-8'))
|
||||||
|
|
||||||
def save_as_file(self, widget, data=None):
|
def save_as_file(self, widget, data=None):
|
||||||
dialog = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_SAVE,
|
dialog = gtk.FileChooserDialog(title=None,action=gtk.FileChooserAction.SAVE)
|
||||||
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
|
dialog.add_buttons(gtk.STOCK_CANCEL,gtk.ResponseType.CANCEL,gtk.STOCK_OPEN,gtk.ResponseType.OK)
|
||||||
filter = gtk.FileFilter()
|
filter = gtk.FileFilter()
|
||||||
filter.set_name("Calcool Documents")
|
filter.set_name("Calcool Documents")
|
||||||
filter.add_mime_type("text/x-calcool")
|
filter.add_mime_type("text/x-calcool")
|
||||||
|
|
@ -220,8 +221,10 @@ class CalcoolWindow(gtk.Window):
|
||||||
dialog.add_filter(filter)
|
dialog.add_filter(filter)
|
||||||
|
|
||||||
response = dialog.run()
|
response = dialog.run()
|
||||||
if response == gtk.RESPONSE_OK:
|
if response == gtk.ResponseType.OK:
|
||||||
self.filename = dialog.get_filename()
|
self.filename = dialog.get_filename()
|
||||||
|
if not self.filename.endswith(".calc"):
|
||||||
|
self.filename += ".calc"
|
||||||
self.save_file(widget)
|
self.save_file(widget)
|
||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
|
|
||||||
|
|
@ -270,4 +273,4 @@ if __name__ == "__main__":
|
||||||
window.load_file(args[0])
|
window.load_file(args[0])
|
||||||
gtk.main()
|
gtk.main()
|
||||||
def save_file(self, widget, data=None):
|
def save_file(self, widget, data=None):
|
||||||
print "save"
|
print("save")
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import gtk
|
import gi
|
||||||
|
gi.require_version("Gtk", "3.0")
|
||||||
|
from gi.repository import Gtk as gtk
|
||||||
|
|
||||||
from calcool.calcoolconfig import getdatapath
|
from calcool.calcoolconfig import getdatapath
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 756 B After Width: | Height: | Size: 771 B |
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
|
@ -6,9 +6,8 @@
|
||||||
<property translatable="yes" name="copyright">Copyright (C) 2010 jan gerber <j@mailb.org></property><property name="border_width">5</property>
|
<property translatable="yes" name="copyright">Copyright (C) 2010 jan gerber <j@mailb.org></property><property name="border_width">5</property>
|
||||||
<property name="icon">../media/icon.png</property>
|
<property name="icon">../media/icon.png</property>
|
||||||
<property name="type_hint">normal</property>
|
<property name="type_hint">normal</property>
|
||||||
<property name="has_separator">False</property>
|
|
||||||
<property name="program_name">Calcool</property>
|
<property name="program_name">Calcool</property>
|
||||||
<property name="version">12.06</property>
|
<property name="version">25.02</property>
|
||||||
<property name="comments" translatable="yes">Calcool allows you to do calculations in a document,
|
<property name="comments" translatable="yes">Calcool allows you to do calculations in a document,
|
||||||
on the right you have the result for each line.
|
on the right you have the result for each line.
|
||||||
If you ever used bc and wanted to edit a previous
|
If you ever used bc and wanted to edit a previous
|
||||||
|
|
@ -49,4 +48,4 @@ calcool might be what you are looking for.</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</interface>
|
</interface>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk+" version="2.16"/>
|
<requires lib="gtk+" version="2.16"/>
|
||||||
<!-- interface-requires sourceview2 0.0 -->
|
|
||||||
<!-- interface-requires calcool_window 1.0 -->
|
|
||||||
<!-- interface-naming-policy project-wide -->
|
|
||||||
<!-- interface-local-resource-path ../media -->
|
|
||||||
<object class="CalcoolWindow" id="calcool_window">
|
<object class="CalcoolWindow" id="calcool_window">
|
||||||
<property name="width_request">600</property>
|
<property name="width_request">600</property>
|
||||||
<property name="height_request">500</property>
|
<property name="height_request">500</property>
|
||||||
|
|
@ -173,6 +169,7 @@
|
||||||
<object class="GtkSourceView" id="input">
|
<object class="GtkSourceView" id="input">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="has_focus">True</property>
|
||||||
<property name="left_margin">2</property>
|
<property name="left_margin">2</property>
|
||||||
<property name="right_margin">2</property>
|
<property name="right_margin">2</property>
|
||||||
<property name="show_line_numbers">True</property>
|
<property name="show_line_numbers">True</property>
|
||||||
|
|
|
||||||
6
debian/changelog
vendored
6
debian/changelog
vendored
|
|
@ -1,3 +1,9 @@
|
||||||
|
calcool (25.00) unstable; urgency=low
|
||||||
|
|
||||||
|
* migreate to python3
|
||||||
|
|
||||||
|
-- Jan Gerber <j@mailb.org> Fri, 31 Jan 2025 19:01:32 +0430
|
||||||
|
|
||||||
calcool (12.06) precise; urgency=low
|
calcool (12.06) precise; urgency=low
|
||||||
|
|
||||||
* resolved lines in lines
|
* resolved lines in lines
|
||||||
|
|
|
||||||
2
debian/compat
vendored
2
debian/compat
vendored
|
|
@ -1 +1 @@
|
||||||
6
|
10
|
||||||
|
|
|
||||||
19
debian/control
vendored
19
debian/control
vendored
|
|
@ -1,21 +1,14 @@
|
||||||
Source: calcool
|
Source: calcool
|
||||||
|
Maintainer: Jan Gerber <j@mailb.org>
|
||||||
Section: python
|
Section: python
|
||||||
Priority: extra
|
Priority: optional
|
||||||
Build-Depends: cdbs (>= 0.4.43),
|
Build-Depends: python3-all, python3-distutils-extra, debhelper (>= 7.4.3), dh-python
|
||||||
debhelper (>= 6),
|
Standards-Version: 3.9.1
|
||||||
python (>= 2.6.6-3~),
|
|
||||||
python-distutils-extra (>= 2.10)
|
|
||||||
Maintainer: j^ <j@mailb.org>
|
|
||||||
Standards-Version: 3.8.2
|
|
||||||
XS-Python-Version: current
|
|
||||||
|
|
||||||
Package: calcool
|
Package: calcool
|
||||||
Architecture: all
|
Architecture: all
|
||||||
XB-Python-Version: ${python:Versions}
|
XB-Python-Version: ${python3:Versions}
|
||||||
Depends: ${misc:Depends},
|
Depends: python3, ${misc:Depends}, ${python3:Depends}, gir1.2-gtksource-4
|
||||||
${python:Depends},
|
|
||||||
python-gtksourceview2,
|
|
||||||
python-gtk2
|
|
||||||
Description: A document based calculator tool
|
Description: A document based calculator tool
|
||||||
Calcool allows you to do calculations in a document, on the right you
|
Calcool allows you to do calculations in a document, on the right you
|
||||||
have the result for each line. If you ever used bc and wanted to edit a
|
have the result for each line. If you ever used bc and wanted to edit a
|
||||||
|
|
|
||||||
9
debian/copyright
vendored
9
debian/copyright
vendored
|
|
@ -1,13 +1,10 @@
|
||||||
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
||||||
Name: calcool
|
Name: calcool
|
||||||
Maintainer: j^ <j@mailb.org>
|
Maintainer: Jan Gerber <j@mailb.org>
|
||||||
Source: https://launchpad.net/calcool
|
Source: https://code.0x2620.org/j/calcool
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: (C) 2010 jan gerber <j@mailb.org>
|
Copyright: (C) 2010-2025 Jan Gerber <j@mailb.org>
|
||||||
Copyright: (C) 2010 jan gerber <j@mailb.org>
|
|
||||||
Copyright: (C) 2010 jan gerber <j@mailb.org></property>
|
|
||||||
Copyright: (C) 2010 jan gerber <j@mailb.org></property><property name="border_width">5</property>
|
|
||||||
License: GPL-3
|
License: GPL-3
|
||||||
The full text of the GPL is distributed in
|
The full text of the GPL is distributed in
|
||||||
/usr/share/common-licenses/GPL-3 on Debian systems.
|
/usr/share/common-licenses/GPL-3 on Debian systems.
|
||||||
|
|
|
||||||
2
debian/pycompat
vendored
2
debian/pycompat
vendored
|
|
@ -1 +1 @@
|
||||||
2
|
3
|
||||||
|
|
|
||||||
9
debian/rules
vendored
9
debian/rules
vendored
|
|
@ -1,9 +1,4 @@
|
||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
%:
|
%:
|
||||||
ifneq ($(shell dh -l | grep -xF translations),)
|
dh $@ --with python3 --buildsystem=pybuild
|
||||||
dh $@ --with python2,translations
|
|
||||||
else
|
|
||||||
dh $@ --with python2
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
### BEGIN LICENSE
|
|
||||||
# This file is in the public domain
|
|
||||||
### END LICENSE
|
|
||||||
|
|
||||||
calcool = {
|
|
||||||
'impl' : 'launchpad',
|
|
||||||
'project' : 'calcool',
|
|
||||||
'bug_pattern_base' : None,
|
|
||||||
}
|
|
||||||
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2015-05-24 22:20+0200\n"
|
"POT-Creation-Date: 2025-01-31 19:23+0530\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
@ -18,10 +18,12 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: ../data/ui/AboutCalcoolDialog.ui.h:1
|
#: ../data/ui/AboutCalcoolDialog.ui.h:1
|
||||||
|
#: ../debian/calcool/usr/share/calcool/ui/AboutCalcoolDialog.ui.h:1
|
||||||
msgid "Copyright (C) 2010 jan gerber <j@mailb.org>"
|
msgid "Copyright (C) 2010 jan gerber <j@mailb.org>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../data/ui/AboutCalcoolDialog.ui.h:2
|
#: ../data/ui/AboutCalcoolDialog.ui.h:2
|
||||||
|
#: ../debian/calcool/usr/share/calcool/ui/AboutCalcoolDialog.ui.h:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"Calcool allows you to do calculations in a document,\n"
|
"Calcool allows you to do calculations in a document,\n"
|
||||||
"on the right you have the result for each line.\n"
|
"on the right you have the result for each line.\n"
|
||||||
|
|
@ -31,6 +33,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../data/ui/AboutCalcoolDialog.ui.h:7
|
#: ../data/ui/AboutCalcoolDialog.ui.h:7
|
||||||
|
#: ../debian/calcool/usr/share/calcool/ui/AboutCalcoolDialog.ui.h:7
|
||||||
msgid ""
|
msgid ""
|
||||||
"# Copyright (C) 2010 jan gerber <j@mailb.org>\n"
|
"# Copyright (C) 2010 jan gerber <j@mailb.org>\n"
|
||||||
"# This program is free software: you can redistribute it and/or modify it \n"
|
"# This program is free software: you can redistribute it and/or modify it \n"
|
||||||
|
|
@ -48,17 +51,21 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../data/ui/CalcoolWindow.ui.h:1
|
#: ../data/ui/CalcoolWindow.ui.h:1
|
||||||
|
#: ../debian/calcool/usr/share/calcool/ui/CalcoolWindow.ui.h:1
|
||||||
msgid "Calcool"
|
msgid "Calcool"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../data/ui/CalcoolWindow.ui.h:2
|
#: ../data/ui/CalcoolWindow.ui.h:2
|
||||||
|
#: ../debian/calcool/usr/share/calcool/ui/CalcoolWindow.ui.h:2
|
||||||
msgid "_File"
|
msgid "_File"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../data/ui/CalcoolWindow.ui.h:3
|
#: ../data/ui/CalcoolWindow.ui.h:3
|
||||||
|
#: ../debian/calcool/usr/share/calcool/ui/CalcoolWindow.ui.h:3
|
||||||
msgid "_Edit"
|
msgid "_Edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../data/ui/CalcoolWindow.ui.h:4
|
#: ../data/ui/CalcoolWindow.ui.h:4
|
||||||
|
#: ../debian/calcool/usr/share/calcool/ui/CalcoolWindow.ui.h:4
|
||||||
msgid "_Help"
|
msgid "_Help"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
||||||
70
setup.py
70
setup.py
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python3
|
||||||
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
|
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
|
||||||
### BEGIN LICENSE
|
### BEGIN LICENSE
|
||||||
# Copyright (C) 2010 jan gerber <j@mailb.org>
|
# Copyright (C) 2010 jan gerber <j@mailb.org>
|
||||||
|
|
@ -17,12 +17,7 @@
|
||||||
|
|
||||||
###################### DO NOT TOUCH THIS (HEAD TO THE SECOND PART) ######################
|
###################### DO NOT TOUCH THIS (HEAD TO THE SECOND PART) ######################
|
||||||
|
|
||||||
try:
|
import DistUtilsExtra.auto
|
||||||
import DistUtilsExtra.auto
|
|
||||||
except ImportError:
|
|
||||||
import sys
|
|
||||||
print >> sys.stderr, 'To build calcool you need https://launchpad.net/python-distutils-extra'
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
assert DistUtilsExtra.auto.__version__ >= '2.10', 'needs DistUtilsExtra.auto >= 2.10'
|
assert DistUtilsExtra.auto.__version__ >= '2.10', 'needs DistUtilsExtra.auto >= 2.10'
|
||||||
import os
|
import os
|
||||||
|
|
@ -31,25 +26,21 @@ import os
|
||||||
def update_data_path(prefix, oldvalue=None):
|
def update_data_path(prefix, oldvalue=None):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fin = file('calcool/calcoolconfig.py', 'r')
|
with open('calcool/calcoolconfig.py', 'r') as fin:
|
||||||
fout = file(fin.name + '.new', 'w')
|
with open(fin.name + '.new', 'w') as fout:
|
||||||
|
for line in fin:
|
||||||
for line in fin:
|
fields = line.split(' = ') # Separate variable from value
|
||||||
fields = line.split(' = ') # Separate variable from value
|
if fields[0] == '__calcool_data_directory__':
|
||||||
if fields[0] == '__calcool_data_directory__':
|
# update to prefix, store oldvalue
|
||||||
# update to prefix, store oldvalue
|
if not oldvalue:
|
||||||
if not oldvalue:
|
oldvalue = fields[1]
|
||||||
oldvalue = fields[1]
|
line = "%s = '%s'\n" % (fields[0], prefix)
|
||||||
line = "%s = '%s'\n" % (fields[0], prefix)
|
else: # restore oldvalue
|
||||||
else: # restore oldvalue
|
line = "%s = %s" % (fields[0], oldvalue)
|
||||||
line = "%s = %s" % (fields[0], oldvalue)
|
fout.write(line)
|
||||||
fout.write(line)
|
fout.flush()
|
||||||
|
|
||||||
fout.flush()
|
|
||||||
fout.close()
|
|
||||||
fin.close()
|
|
||||||
os.rename(fout.name, fin.name)
|
os.rename(fout.name, fin.name)
|
||||||
except (OSError, IOError), e:
|
except (OSError, IOError) as e:
|
||||||
print ("ERROR: Can't find calcool/calcoolconfig.py")
|
print ("ERROR: Can't find calcool/calcoolconfig.py")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
return oldvalue
|
return oldvalue
|
||||||
|
|
@ -58,18 +49,15 @@ def update_data_path(prefix, oldvalue=None):
|
||||||
def update_desktop_file(datadir):
|
def update_desktop_file(datadir):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fin = file('calcool.desktop.in', 'r')
|
with open('calcool.desktop.in', 'r') as fin:
|
||||||
fout = file(fin.name + '.new', 'w')
|
with open(fin.name + '.new', 'w') as fout:
|
||||||
|
for line in fin:
|
||||||
for line in fin:
|
if 'Icon=' in line:
|
||||||
if 'Icon=' in line:
|
line = "Icon=%s\n" % (datadir + 'media/logo.png')
|
||||||
line = "Icon=%s\n" % (datadir + 'media/logo.png')
|
fout.write(line)
|
||||||
fout.write(line)
|
fout.flush()
|
||||||
fout.flush()
|
|
||||||
fout.close()
|
|
||||||
fin.close()
|
|
||||||
os.rename(fout.name, fin.name)
|
os.rename(fout.name, fin.name)
|
||||||
except (OSError, IOError), e:
|
except (OSError, IOError) as e:
|
||||||
print ("ERROR: Can't find calcool.desktop.in")
|
print ("ERROR: Can't find calcool.desktop.in")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
@ -77,9 +65,9 @@ def update_desktop_file(datadir):
|
||||||
class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
|
class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
|
||||||
def run(self):
|
def run(self):
|
||||||
if self.root or self.home:
|
if self.root or self.home:
|
||||||
print "WARNING: You don't use a standard --prefix installation, take care that you eventually " \
|
print("WARNING: You don't use a standard --prefix installation, take care that you eventually " \
|
||||||
"need to update quickly/quicklyconfig.py file to adjust __quickly_data_directory__. You can " \
|
"need to update quickly/quicklyconfig.py file to adjust __quickly_data_directory__. You can " \
|
||||||
"ignore this warning if you are packaging and uses --prefix."
|
"ignore this warning if you are packaging and uses --prefix.")
|
||||||
previous_value = update_data_path(self.prefix + '/share/calcool/')
|
previous_value = update_data_path(self.prefix + '/share/calcool/')
|
||||||
update_desktop_file(self.prefix + '/share/calcool/')
|
update_desktop_file(self.prefix + '/share/calcool/')
|
||||||
DistUtilsExtra.auto.install_auto.run(self)
|
DistUtilsExtra.auto.install_auto.run(self)
|
||||||
|
|
@ -93,13 +81,13 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
|
||||||
|
|
||||||
DistUtilsExtra.auto.setup(
|
DistUtilsExtra.auto.setup(
|
||||||
name='calcool',
|
name='calcool',
|
||||||
version='12.06',
|
version='25.02',
|
||||||
license='GPL-3',
|
license='GPL-3',
|
||||||
author='j^',
|
author='Jan Gerber',
|
||||||
author_email='j@mailb.org',
|
author_email='j@mailb.org',
|
||||||
description='A document based calculator tool',
|
description='A document based calculator tool',
|
||||||
long_description='Calcool allows you to do calculations in a document, on the right you have the result for each line. If you ever used bc and wanted to edit a previous line or tried to reference the result of line 3, calcool might be what you are looking for.',
|
long_description='Calcool allows you to do calculations in a document, on the right you have the result for each line. If you ever used bc and wanted to edit a previous line or tried to reference the result of line 3, calcool might be what you are looking for.',
|
||||||
url='https://launchpad.net/calcool',
|
url='https://code.0x2620.org/j/calcool',
|
||||||
cmdclass={'install': InstallAndUpdateDataDirectory},
|
cmdclass={'install': InstallAndUpdateDataDirectory},
|
||||||
data_files=[
|
data_files=[
|
||||||
('share/mime/packages', ['calcool.xml']),
|
('share/mime/packages', ['calcool.xml']),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue