data entry tool

P

Peter

This post seeks advice on whether python would be appropriate for a task, or
whether you can suggest another approach.

The project is to transcribe historical records such as schools admissions,
ship passenger lists, birth/death/marriages, etc for genealogy studies.
What we need is a simple software tool that will give the user a form set
out like the page being transcribed, do some simple validation and put the
data in a file (can be fixed field length plain text). Data files from
volunteers will be compiled into a master database.

This software tool needs to work on a variety of different computers; Win95,
Win98, WinXP, Mac, Linux.

So, would python be a good choice for this, and how should I go about it?
I'm not a programmer and have only done a few little python scripts that
run from the command line.

TIA

Peter
 
D

Diez B. Roggisch

Peter said:
This post seeks advice on whether python would be appropriate for a task,
or whether you can suggest another approach.

The project is to transcribe historical records such as schools
admissions, ship passenger lists, birth/death/marriages, etc for genealogy
studies. What we need is a simple software tool that will give the user a
form set out like the page being transcribed, do some simple validation
and put the
data in a file (can be fixed field length plain text). Data files from
volunteers will be compiled into a master database.

This software tool needs to work on a variety of different computers;
Win95, Win98, WinXP, Mac, Linux.

So, would python be a good choice for this, and how should I go about it?
I'm not a programmer and have only done a few little python scripts that
run from the command line.

Make it a webapp. That will guarantee to make it runnable on the list of
OSses you gave. Use Django/TurboGears/ZOPE for the application itself-
whichever suits you best.

Diez
 
T

Tim Williams

Make it a webapp. That will guarantee to make it runnable on the list of
OSses you gave. Use Django/TurboGears/ZOPE for the application itself-
whichever suits you best.

based on the comment:
I'm not a programmer and have only done a few little python
scripts that run from the command line.

Using Karrigell as the webserver / framework may be preferrable. Its
much simpler to learn and use, and as long as there aren't a *huge*
number of users it will be up to the task.

HTH :)
 
P

Peter

Diez said:
Make it a webapp. That will guarantee to make it runnable on the list of
OSses you gave. Use Django/TurboGears/ZOPE for the application itself-
whichever suits you best.

A webapp isn't feasible as most of the users are on dial up (this is in New
Zealand and broadband isn't available for lots of people).

I was hoping for a simple tool. Even if it only worked on Windows, it would
be a start. It just needs to present a form of text entry fields to the
user, and place the data in a plain text file.

If python can't do this, can anyone suggest another language or approach?

TIA

Peter
 
S

Serge Orlov

Peter said:
A webapp isn't feasible as most of the users are on dial up (this is in New
Zealand and broadband isn't available for lots of people).

I don't see connection here, why it's not feasible?
I was hoping for a simple tool. Even if it only worked on Windows, it would
be a start. It just needs to present a form of text entry fields to the
user, and place the data in a plain text file.

You can do it using for example Tkinter
If python can't do this, can anyone suggest another language or approach?

Sure you can code that application in Python, the problem is
distribution and support of application running on multiple platforms.
That's what webapp will help you to avoid. Keep in mind that standalone
application for windows will be about 2Mb. Keep also in mind linux is
not a platform, it is hmm, how to say it? a snapshot of random programs
found on internet, so it's very hard to distribute and support programs
for it.
 
K

Kent Johnson

Peter said:
This post seeks advice on whether python would be appropriate for a task, or
whether you can suggest another approach.

The project is to transcribe historical records such as schools admissions,
ship passenger lists, birth/death/marriages, etc for genealogy studies.
What we need is a simple software tool that will give the user a form set
out like the page being transcribed, do some simple validation and put the
data in a file (can be fixed field length plain text). Data files from
volunteers will be compiled into a master database.

This software tool needs to work on a variety of different computers; Win95,
Win98, WinXP, Mac, Linux.

Take a look at Tkinter, it is pretty easy to get started with and good
for making simple GUIs. Look at the csv module for writing the data to
files.

Kent
 
P

Peter

Serge said:
I don't see connection here, why it's not feasible?

Our volunteers won't sit on their dial up connection for hours at a time.
Many dial up plans charge an hourly rate after the first so many hours per
month, plus it means you can't use your phone line to receive or make phone
calls.
You can do it using for example Tkinter
<http://wiki.python.org/moin/TkInter> that comes with python
distribution for windows.

thanks - I'll take a look.
Keep in mind that standalone application for windows will be about 2Mb.

Wow - why so big for such a simple tool?
2MB sounds like a LOT of coding.


Peter
 
D

Dan Sommers

Serge Orlov wrote:

[ ... ]
Wow - why so big for such a simple tool?
2MB sounds like a LOT of coding.

Actually, just the opposite: that's 2MB of things someone else wrote in
order that your application code remain small.

Regards,
Dan
 
B

bearophileHUGS

Peter wrote>Wow - why so big for such a simple tool? 2MB sounds like a
LOT of coding.<

Yes, it's a lot of code, but it's code written by other people (Python,
Tkinter). Using Tkinter your program will probably be quite short, even
if you use some dbase.
If the data to be entered is simple and textual you can even think
about using a text only interface. The resulting program will be really
simple, and probably good enough.
2+ MB is the size of the executable package you need to give people to
install Python + some libs + your program.

Bye,
bearophile
 
C

Cameron Laird

Peter wrote>Wow - why so big for such a simple tool? 2MB sounds like a
LOT of coding.<

Yes, it's a lot of code, but it's code written by other people (Python,
Tkinter). Using Tkinter your program will probably be quite short, even
if you use some dbase.
If the data to be entered is simple and textual you can even think
about using a text only interface. The resulting program will be really
simple, and probably good enough.
2+ MB is the size of the executable package you need to give people to
install Python + some libs + your program.
.
.
.
.... and if it's really an issue, it's generally feasible to
squish a Python installable down enough so it fits on a 1.4
Mb floppy.
 
S

Serge Orlov

If the data to be entered is simple and textual you can even think
about using a text only interface. The resulting program will be really
simple, and probably good enough.

FWIW here is size of "Hello, world!" program distribution using
different interfaces:

text console: 1.2Mb
web.py w/o ssl: 1.5Mb
tkinter: 2.1Mb
wxpython: 3.0Mb

Getting more slim distributions requires some manual work
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,294
Messages
2,571,511
Members
48,213
Latest member
DonnellTol

Latest Threads

Top