Re: User input masks - Access Style

2011-01-01 Thread flebber
On Jan 1, 11:13 am, Tim Harig user...@ilthio.net wrote:
 On 2010-12-31, flebber flebber.c...@gmail.com wrote:

  On Dec 28 2010, 12:21 am, Adam Tauno Williams awill...@whitemice.org
  wrote:
  On Sun, 2010-12-26 at 20:37 -0800, flebber wrote:
   Is there anyay to use input masks in python? Similar to the function
   found in access where a users input is limited to a type, length and
   format.

  http://faq.pygtk.org/index.py?file=faq14.022.htpreq=show

  Typically this is handled by a callback on a keypress event.

  Regarding 137 of the re module, relating to the code above.

 137? I am not sure what you are referencing?

  EDIT: I just needed to use raw_input rather than input to stop this
  input error.

 Sorry, I used input() because that is what you had used in your example
 and it worked for my system.  Normally, I would have used window.getstr()
 from the curses module, or whatever the platform equivilant is, for
 getting line buffered input.

137 is the line number in the re module which refernces the match
string. In this example the timeinput.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: User input masks - Access Style

2010-12-31 Thread flebber
On Dec 28 2010, 12:21 am, Adam Tauno Williams awill...@whitemice.org
wrote:
 On Sun, 2010-12-26 at 20:37 -0800, flebber wrote:
  Is there anyay to use input masks in python? Similar to the function
  found in access where a users input is limited to a type, length and
  format.

 http://faq.pygtk.org/index.py?file=faq14.022.htpreq=show

 Typically this is handled by a callback on a keypress event.

Can I get some clarification on the re module specifically on matching
string

Line 137 of the Re module

def match(pattern, string, flags=0):
Try to apply the pattern at the start of the string, returning
a match object, or None if no match was found.
return _compile(pattern, flags).match(string)
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: User input masks - Access Style

2010-12-31 Thread flebber
On Dec 28 2010, 12:21 am, Adam Tauno Williams awill...@whitemice.org
wrote:
 On Sun, 2010-12-26 at 20:37 -0800, flebber wrote:
  Is there anyay to use input masks in python? Similar to the function
  found in access where a users input is limited to a type, length and
  format.

 http://faq.pygtk.org/index.py?file=faq14.022.htpreq=show

 Typically this is handled by a callback on a keypress event.

Sorry

Regarding 137 of the re module, relating to the code above.

# validate the input is in the correct format (usually this would be
in
# loop that continues until the user enters acceptable data)
if re.match(r'''^[0-9]{2}:[0-9]{2}:[0-9]{2}$''', timeInput) == None:
print(I'm sorry, your input is improperly formated.)
sys.exit(1)

EDIT: I just needed to use raw_input rather than input to stop this
input error.

Please enter time in the format 'MM:SS:HH':
11:12:13
Traceback (most recent call last):
  File C:\Documents and Settings\renshaw\workspace\Testing\src
\Time.py, line 13, in module
timeInput = input()
  File C:\Eclipse\plugins\org.python.pydev_1.6.3.2010100422\PySrc
\pydev_sitecustomize\sitecustomize.py, line 176, in input
return eval(raw_input(prompt))
  File string, line 1
11:12:13
  ^
SyntaxError: invalid syntax

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: User input masks - Access Style

2010-12-31 Thread Tim Harig
On 2010-12-31, flebber flebber.c...@gmail.com wrote:
 On Dec 28 2010, 12:21 am, Adam Tauno Williams awill...@whitemice.org
 wrote:
 On Sun, 2010-12-26 at 20:37 -0800, flebber wrote:
  Is there anyay to use input masks in python? Similar to the function
  found in access where a users input is limited to a type, length and
  format.

 http://faq.pygtk.org/index.py?file=faq14.022.htpreq=show

 Typically this is handled by a callback on a keypress event.

 Regarding 137 of the re module, relating to the code above.

137? I am not sure what you are referencing?

 EDIT: I just needed to use raw_input rather than input to stop this
 input error.

Sorry, I used input() because that is what you had used in your example
and it worked for my system.  Normally, I would have used window.getstr()
from the curses module, or whatever the platform equivilant is, for
getting line buffered input.
-- 
http://mail.python.org/mailman/listinfo/python-list


Fw: Re: User input masks - Access Style

2010-12-27 Thread linmq
 On 2010-12-27, flebber  flebber.c...@gmail.com  wrote:

   Is there anyay to use input masks in python? Similar to the function
   found in access where a users input is limited to a type, length and
   format.

   So in my case I want to ensure that numbers are saved in a basic
   format.
   1) Currency so input limited to 000.00 eg 1.00, 2.50, 13.80 etc

 Some GUIs provide this functionality or provide callbacks for validation
 functions that can determine the validity of the input. ? don't know of
 any modules that provide formatted input in a terminal. ?ost terminal
 input functions just read from stdin (in this case a buffered line)
 and output that as a string. ?t is easy enough to validate whether
 terminal input is in the proper.

 Your example time code might look like:

 ... import re
 ... import sys
 ...
 ... # get the input
 ... print(Please enter time in the format 'MM:SS:HH': , end=)
 ... timeInput = input()
 ...
 ... # validate the input is in the correct format (usually this would be in
 ... # loop that continues until the user enters acceptable data)
 ... if re.match(r'''^[0-9]{2}:[0-9]{2}:[0-9]{2}$''', timeInput) == None:
 ... ??print(I'm sorry, your input is improperly formated.)
 ... ??sys.exit(1)
 ...
 ... # break the input into its componets
 ... componets = timeInput.split(:)
 ... minutes = int(componets[0])
 ... seconds = int(componets[1])
 ... microseconds = int(componets[2])
 ...
 ... # output the time
 ... print(Your time is:  + %02d % minutes + : + %02d % seconds + : +
 ... ??%02d % microseconds)

 Currency works the same way using validating it against:
 r'''[0-9]+\.[0-9]{2}'''

   For sports times that is time duration not a system or date times
   should I assume that I would need to calculate a user input to a
   decimal number and then recalculate it to present it to user?

 I am not sure what you are trying to do or asking. ?ython provides time,
 date, datetime, and timedelta objects that can be used for date/time
 calculations, locale based formatting, etc. ?hat you use, if any, will
 depend on what you are actually tring to accomplish. ?our example doesn't
 really show you doing much with the time so it is difficult giving you any
 concrete recommendations.
 
 yes you are right I should have clarified. The time is a duration over
 distance, so its a speed measure.  Ultimately I will need to store the
 times so I may need to use something likw sqlAlchemy but I am nowehere
 near the advanced but I know that most Db's mysql, postgre etc don't
 support time as a duration as such and i will probably need to store
 it as a decimal and convert it back for the user.
 -- 
 http://mail.python.org/mailman/listinfo/python-list

You can let a user to separately input the days, hours, minutes, etc.
And use the type timedelta to store the time duration:

datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, 
hours[, weeks]]])

Beyond 2.7, you can use timedelta.total_seconds() to convert the time 
duration to a number for database using. And later restore the number
back to timedelta by timedelta(seconds=?).

Refer to:
http://docs.python.org/library/datetime.html?highlight=timedelta#timedelta-objects

--

---
Confidentiality Notice: The information contained in this e-mail and any 
accompanying attachment(s) 
is intended only for the use of the intended recipient and may be confidential 
and/or privileged of 
Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of 
this communication is 
not the intended recipient, unauthorized use, forwarding, printing,  storing, 
disclosure or copying 
is strictly prohibited, and may be unlawful.If you have received this 
communication in error,please 
immediately notify the sender by return e-mail, and delete the original message 
and all copies from 
your system. Thank you. 
---

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Fw: Re: User input masks - Access Style

2010-12-27 Thread flebber
On Dec 27, 7:57 pm, linmq li...@neusoft.com wrote:
  On 2010-12-27, flebber  flebber.c...@gmail.com  wrote:

    Is there anyay to use input masks in python? Similar to the function
    found in access where a users input is limited to a type, length and
    format.

    So in my case I want to ensure that numbers are saved in a basic
    format.
    1) Currency so input limited to 000.00 eg 1.00, 2.50, 13.80 etc

  Some GUIs provide this functionality or provide callbacks for validation
  functions that can determine the validity of the input. ? don't know of
  any modules that provide formatted input in a terminal. ?ost terminal
  input functions just read from stdin (in this case a buffered line)
  and output that as a string. ?t is easy enough to validate whether
  terminal input is in the proper.

  Your example time code might look like:

  ... import re
  ... import sys
  ...
  ... # get the input
  ... print(Please enter time in the format 'MM:SS:HH': , end=)
  ... timeInput = input()
  ...
  ... # validate the input is in the correct format (usually this would be in
  ... # loop that continues until the user enters acceptable data)
  ... if re.match(r'''^[0-9]{2}:[0-9]{2}:[0-9]{2}$''', timeInput) == None:
  ... ??print(I'm sorry, your input is improperly formated.)
  ... ??sys.exit(1)
  ...
  ... # break the input into its componets
  ... componets = timeInput.split(:)
  ... minutes = int(componets[0])
  ... seconds = int(componets[1])
  ... microseconds = int(componets[2])
  ...
  ... # output the time
  ... print(Your time is:  + %02d % minutes + : + %02d % seconds + 
  : +
  ... ??%02d % microseconds)

  Currency works the same way using validating it against:
  r'''[0-9]+\.[0-9]{2}'''

    For sports times that is time duration not a system or date times
    should I assume that I would need to calculate a user input to a
    decimal number and then recalculate it to present it to user?

  I am not sure what you are trying to do or asking. ?ython provides time,
  date, datetime, and timedelta objects that can be used for date/time
  calculations, locale based formatting, etc. ?hat you use, if any, will
  depend on what you are actually tring to accomplish. ?our example doesn't
  really show you doing much with the time so it is difficult giving you any
  concrete recommendations.

  yes you are right I should have clarified. The time is a duration over
  distance, so its a speed measure.  Ultimately I will need to store the
  times so I may need to use something likw sqlAlchemy but I am nowehere
  near the advanced but I know that most Db's mysql, postgre etc don't
  support time as a duration as such and i will probably need to store
  it as a decimal and convert it back for the user.
  --
 http://mail.python.org/mailman/listinfo/python-list

 You can let a user to separately input the days, hours, minutes, etc.
 And use the type timedelta to store the time duration:

 datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, 
 hours[, weeks]]])

 Beyond 2.7, you can use timedelta.total_seconds() to convert the time
 duration to a number for database using. And later restore the number
 back to timedelta by timedelta(seconds=?).

 Refer 
 to:http://docs.python.org/library/datetime.html?highlight=timedelta#time...

 --

 ---
 Confidentiality Notice: The information contained in this e-mail and any 
 accompanying attachment(s)
 is intended only for the use of the intended recipient and may be 
 confidential and/or privileged of
 Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of 
 this communication is
 not the intended recipient, unauthorized use, forwarding, printing,  storing, 
 disclosure or copying
 is strictly prohibited, and may be unlawful.If you have received this 
 communication in error,please
 immediately notify the sender by return e-mail, and delete the original 
 message and all copies from
 your system. Thank you.
 ---

Very helpful thanks
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: User input masks - Access Style

2010-12-27 Thread Adam Tauno Williams
On Sun, 2010-12-26 at 20:37 -0800, flebber wrote:
 Is there anyay to use input masks in python? Similar to the function
 found in access where a users input is limited to a type, length and
 format.

http://faq.pygtk.org/index.py?file=faq14.022.htpreq=show

Typically this is handled by a callback on a keypress event.

-- 
http://mail.python.org/mailman/listinfo/python-list


User input masks - Access Style

2010-12-26 Thread flebber
Is there anyay to use input masks in python? Similar to the function
found in access where a users input is limited to a type, length and
format.

So in my case I want to ensure that numbers are saved in a basic
format.
1) Currency so input limited to 000.00 eg 1.00, 2.50, 13.80 etc

For sports times that is time duration not a system or date times
should I assume that I would need to calculate a user input to a
decimal number and then recalculate it to present it to user?

So an example, sorry.

import time #not sure if this is any use
minute = input(How many minutes: )
seconds = input(How many seconds: )
Hundredths = input(how many Hundredths: )

# convert user input
MyTime = (minute/60)+(seconds)+(Hundredths/1800)
#Display to user assuming i had written a name and user
# had retrieved it
print([User], your time was), (MyTime/60:MyTime(MyTime-((MyTime/
60)*60).(MyTime-(MyTime0))) )



-- 
http://mail.python.org/mailman/listinfo/python-list


Re: User input masks - Access Style

2010-12-26 Thread Tim Harig
On 2010-12-27, flebber flebber.c...@gmail.com wrote:
 Is there anyay to use input masks in python? Similar to the function
 found in access where a users input is limited to a type, length and
 format.

 So in my case I want to ensure that numbers are saved in a basic
 format.
 1) Currency so input limited to 000.00 eg 1.00, 2.50, 13.80 etc

Some GUIs provide this functionality or provide callbacks for validation
functions that can determine the validity of the input.  I don't know of
any modules that provide formatted input in a terminal.  Most terminal
input functions just read from stdin (in this case a buffered line)
and output that as a string.  It is easy enough to validate whether
terminal input is in the proper.

Your example time code might look like:

... import re
... import sys
... 
... # get the input
... print(Please enter time in the format 'MM:SS:HH': , end=)
... timeInput = input()
... 
... # validate the input is in the correct format (usually this would be in
... # loop that continues until the user enters acceptable data)
... if re.match(r'''^[0-9]{2}:[0-9]{2}:[0-9]{2}$''', timeInput) == None:
... print(I'm sorry, your input is improperly formated.)
... sys.exit(1)
... 
... # break the input into its componets
... componets = timeInput.split(:)
... minutes = int(componets[0])
... seconds = int(componets[1])
... microseconds = int(componets[2])
... 
... # output the time
... print(Your time is:  + %02d % minutes + : + %02d % seconds + : +
... %02d % microseconds)

Currency works the same way using validating it against:
r'''[0-9]+\.[0-9]{2}'''

 For sports times that is time duration not a system or date times
 should I assume that I would need to calculate a user input to a
 decimal number and then recalculate it to present it to user?

I am not sure what you are trying to do or asking.  Python provides time,
date, datetime, and timedelta objects that can be used for date/time
calculations, locale based formatting, etc.  What you use, if any, will
depend on what you are actually tring to accomplish.  Your example doesn't
really show you doing much with the time so it is difficult giving you any
concrete recommendations.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: User input masks - Access Style

2010-12-26 Thread Tim Harig
On 2010-12-27, Tim Harig user...@ilthio.net wrote:
 ... if re.match(r'''^[0-9]{2}:[0-9]{2}:[0-9]{2}$''', timeInput) == None:
[SNIP]
 Currency works the same way using validating it against:
 r'''[0-9]+\.[0-9]{2}'''

Sorry, you need to check to make sure that there are no trailing characters
as in the example above.  Checking the beginning is not actually necessary
with match().

r'''^[0-9]+\.[0-9]{2}$'''
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: User input masks - Access Style

2010-12-26 Thread flebber
On Dec 27, 6:01 pm, Tim Harig user...@ilthio.net wrote:
 On 2010-12-27, flebber flebber.c...@gmail.com wrote:

  Is there anyay to use input masks in python? Similar to the function
  found in access where a users input is limited to a type, length and
  format.

  So in my case I want to ensure that numbers are saved in a basic
  format.
  1) Currency so input limited to 000.00 eg 1.00, 2.50, 13.80 etc

 Some GUIs provide this functionality or provide callbacks for validation
 functions that can determine the validity of the input.  I don't know of
 any modules that provide formatted input in a terminal.  Most terminal
 input functions just read from stdin (in this case a buffered line)
 and output that as a string.  It is easy enough to validate whether
 terminal input is in the proper.

 Your example time code might look like:

 ... import re
 ... import sys
 ...
 ... # get the input
 ... print(Please enter time in the format 'MM:SS:HH': , end=)
 ... timeInput = input()
 ...
 ... # validate the input is in the correct format (usually this would be in
 ... # loop that continues until the user enters acceptable data)
 ... if re.match(r'''^[0-9]{2}:[0-9]{2}:[0-9]{2}$''', timeInput) == None:
 ...     print(I'm sorry, your input is improperly formated.)
 ...     sys.exit(1)
 ...
 ... # break the input into its componets
 ... componets = timeInput.split(:)
 ... minutes = int(componets[0])
 ... seconds = int(componets[1])
 ... microseconds = int(componets[2])
 ...
 ... # output the time
 ... print(Your time is:  + %02d % minutes + : + %02d % seconds + : +
 ...     %02d % microseconds)

 Currency works the same way using validating it against:
 r'''[0-9]+\.[0-9]{2}'''

  For sports times that is time duration not a system or date times
  should I assume that I would need to calculate a user input to a
  decimal number and then recalculate it to present it to user?

 I am not sure what you are trying to do or asking.  Python provides time,
 date, datetime, and timedelta objects that can be used for date/time
 calculations, locale based formatting, etc.  What you use, if any, will
 depend on what you are actually tring to accomplish.  Your example doesn't
 really show you doing much with the time so it is difficult giving you any
 concrete recommendations.

yes you are right I should have clarified. The time is a duration over
distance, so its a speed measure.  Ultimately I will need to store the
times so I may need to use something likw sqlAlchemy but I am nowehere
near the advanced but I know that most Db's mysql, postgre etc don't
support time as a duration as such and i will probably need to store
it as a decimal and convert it back for the user.
-- 
http://mail.python.org/mailman/listinfo/python-list