[Tutor] Need a mentor
Steven D'Aprano
steve at pearwood.info
Mon Aug 9 11:58:38 CEST 2010
On Mon, 9 Aug 2010 07:21:03 pm Ranjith Kumar wrote:
> On Mon, Aug 9, 2010 at 12:23 PM, Steven D'Aprano
<steve at pearwood.info>wrote:
> > On Mon, 9 Aug 2010 12:16:11 pm Ranjith Kumar wrote:
> > > Hi all,
> > > I`m doing a python based project, I need a mentor who can
> > > guide me and help me to complete the project.
>
> Sorry Mr. Steven I think u caught it wrong I`m not asking to trainee
> me I almost completed this script
It's not clear exactly what you want. Lists like this work best when you
ask *specific* questions like "how do I set a cookies from Python?"
or "what's the difference between a list and a tuple?", not vague
requests for a mentor.
After reading both your posts, I'm still not entirely sure I understand
what you want, but I'll try...
[...]
> After I complete this project I will send the code so any volunteers
> can optimize the code so that we can provide better solution for open
> source world and I will definitely upload this project under GPL
> Licence in code.google.com and sourceforgue.net.
It's not compulsory :)
I don't understand why you think you need to optimize the code. Is it
too slow?
[...]
> These are the four things, I need to know is this
> 1) Configuring window should runs automatically only first
> time if the user wants to reconfigure the file again they should run
> configuring module separately.
That's a statement, not a question. What do you want to know?
"Is this a good idea?"
Depends on the application. Most applications give the user a
Preferences or Settings menu so they can reconfigure the app at any
time. But since I don't really know what your application does, I'm not
sure if this is appropriate.
"How do I do it?"
The usual way is to have the application look for a configuration file
in some place. If it is missing, then create a new one. If it is
present, then read the file and use it as the config.
> 2) This script is to start it automatically on every login and stay
> running on background until i shut download the machine.
Again, that's not a question, it's a statement. What do you want to
know?
"Is this a good idea?"
Who knows? What does your program do?
"How do I do it?"
That depends. What operating system is your application supposed to run
under?
> 3) I need a best alternative way for switch case statement
There is no "best alternative", it depends on the nature of the case
statement you are replacing.
If it is only a few cases, or if each test is a different sort of test:
# pseudo-code
case:
x == 1:
spam(arg)
x > 2:
ham(arg)
y/x < 0:
cheese(arg)
otherwise:
pickles(arg)
the best alternative is a series of if...elif tests.
If you have a series of simple equality comparisons, and you can write
the case clause as a single function call:
# pseudo-code
case of x:
1:
spam(arg)
2:
ham(arg)
3:
cheese(arg)
otherwise:
pickles(arg)
it is probably better re-writing it as a dispatch table:
# python
table = {1: spam, 2: ham, 3: cheese}
func = table.get(x, pickles)
func(arg)
There are probably other alternatives that will be better depending on
exactly what you are trying to do.
> 4) Lastly I need to know is how to print the list of web browsers
> installed on a machine.
Printing it is easy: you print it the same way you print anything else:
call print to output to the terminal, or generate a print job to send
to a physical printer.
The hard part is finding out what web browsers are installed on a
machine. That's a hard problem, because there's no canonical list
of "web browsers" for a computer.
Take my machine, for example. I have:
firefox 2.x
firefox 3.x
epiphany
galeon
konquorer
links
lynx
and they're just the ones I know of. The problems are:
* It is hard to tell what is a web browser and what isn't. If Adobe
Acrobat lets you embed clickable links to http:// URLs in PDF files,
does that make Acrobat a web browser? I suppose it does, but some
people will say not. If Outlook displays web pages, is it a web
browser? You can click on a link in a Word document, and Word will open
that web page for you -- is it a browser?
* Even if you decide exactly what is a web browser, there's no list of
them anywhere. To find out which they are, you would need to start with
a list of all the applications on the computer (what's an application?
what if there are thousands of them?), and then somehow inspect each
one and try to recognise whether or not it is a web browser or not.
How?
You probably can get the name of the *registered* web browser, but the
way you do that will depend on the operating system and desktop
environment. E.g. under Windows there is probably a registry setting
that specifies which application to use as the default web browser. Or
you can keep a list of possibilities, and search for them, ignoring
anything else. Or you can ask the user. Or you can look at Python's
webbrowser module and see what it does.
So the answer will depend on why you want to print this list of web
browsers, how accurate you want to be, and what system you are running
under.
--
Steven D'Aprano
More information about the Tutor
mailing list