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