Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(872)

Side by Side Diff: third_party/twisted_8_1/twisted/python/shortcut.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2001-2004 Twisted Matrix Laboratories.
2 # See LICENSE for details.
3
4
5 """Creation of Windows shortcuts.
6
7 Requires win32all.
8 """
9
10 from win32com.shell import shell
11 import pythoncom
12 import os
13
14
15 def open(filename):
16 """Open an existing shortcut for reading.
17
18 @return: The shortcut object
19 @rtype: Shortcut
20 """
21 sc=Shortcut()
22 sc.load(filename)
23 return sc
24
25
26 class Shortcut:
27 """A shortcut on Win32.
28 >>> sc=Shortcut(path, arguments, description, workingdir, iconpath, iconidx)
29 @param path: Location of the target
30 @param arguments: If path points to an executable, optional arguments to
31 pass
32 @param description: Human-readable decription of target
33 @param workingdir: Directory from which target is launched
34 @param iconpath: Filename that contains an icon for the shortcut
35 @param iconidx: If iconpath is set, optional index of the icon desired
36 """
37
38 def __init__(self,
39 path=None,
40 arguments=None,
41 description=None,
42 workingdir=None,
43 iconpath=None,
44 iconidx=0):
45 self._base = pythoncom.CoCreateInstance(
46 shell.CLSID_ShellLink, None,
47 pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IShellLink
48 )
49 data = map(None,
50 ['"%s"' % os.path.abspath(path), arguments, description,
51 os.path.abspath(workingdir), os.path.abspath(iconpath)],
52 ("SetPath", "SetArguments", "SetDescription",
53 "SetWorkingDirectory") )
54 for value, function in data:
55 if value and function:
56 # call function on each non-null value
57 getattr(self, function)(value)
58 if iconpath:
59 self.SetIconLocation(iconpath, iconidx)
60
61 def load( self, filename ):
62 """Read a shortcut file from disk."""
63 self._base.QueryInterface(pythoncom.IID_IPersistFile).Load(filename)
64
65 def save( self, filename ):
66 """Write the shortcut to disk.
67
68 The file should be named something.lnk.
69 """
70 self._base.QueryInterface(pythoncom.IID_IPersistFile).Save(filename, 0)
71
72 def __getattr__( self, name ):
73 if name != "_base":
74 return getattr(self._base, name)
75 raise AttributeError, "%s instance has no attribute %s" % \
76 (self.__class__.__name__, name)
OLDNEW
« no previous file with comments | « third_party/twisted_8_1/twisted/python/runtime.py ('k') | third_party/twisted_8_1/twisted/python/syslog.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698