Activity

From 12/14/2009 to 01/12/2010

01/12/2010

avatar 01:31 PM Feature #134: Allow --list (or another option) to filter listed tasks
When using large fabfiles, one may wish to search for or filter task names. E.g. you know you have some relating to Python but aren't entirely sure and want to do something like `fab --list "py*"`. Benefit of adding this to `-l`/`--list` is tha... Jeff Forcier

01/11/2010

avatar 12:22 AM Feature #98: Optionally avoid using ssh if going to localhost
I've just implemented something similar this evening in the form of a new fabric.operations function called `do`. It looks at `env.run_as` to see if it equals "local", and in doing so switches out to the `local` method instead of the `run` (or `s... Travis Swicegood

01/09/2010

avatar 08:45 PM Feature #133: Pre/post run hooks
Might be nice to provide support for pre/post hooks, so that one can specify code to run before and/or after their tasks are executed. E.g. for long-running tasks, users may want emails to be sent out notifying that things worked (or didn't; wh... Jeff Forcier
avatar 09:31 AM Bug #132 (Assigned): run()/sudo() strip the output, local() does not
Jeff Forcier

01/08/2010

avatar 11:30 PM Bug #132: run()/sudo() strip the output, local() does not
Just a little inconsistency that can be surprising: I ran run('mktemp') and was able to use the output directly, local('mktemp') caused me all sorts of problems with the trailing newline until I realized what was going on. Fixed [here](http://g... Carl Meyer
avatar 03:39 PM Revision ea9682b20621803e21faa8f7627051911614222a (master, 0.9, ...): Merge branch '0.9'
Merge branch '0.9' Jeff Forcier
avatar 03:39 PM Revision c5da9ed3e8743a595eb7d6ec43268d9bfbdd07a0 (master, 0.9, ...): Fix incorrect statement in ...
Fix incorrect statement in upgrade docs Jeff Forcier
avatar 03:03 PM Feature #131: Allow graceful user-controlled handling of connection failures
E.g. say you wish to connect to a large series of hosts but a handful of them are temporarily down or unreachable, or are "bad" (i.e. don't have SSH, or your intended user doesn't exist on them, etc.) Right now Fabric will just explode if it canno... Jeff Forcier

01/06/2010

avatar 04:11 PM Feature #56: Add namespacing or dot notation
Hey guys, note: updates to this ticket (or any ticket with a watcher who's got Unicode chars in the name -- hi Domen!) do seem to trigger 500s -- but that 500 only occurs at the "alert watchers" step. So comments and so forth do get stored in the ... Jeff Forcier
avatar 03:45 PM Feature #122 (Assigned): Allow fabricrc to be fabfile-esque Python module?
Jeff Forcier
avatar 03:43 PM Feature #56 (Assigned): Add namespacing or dot notation
Jeff Forcier
avatar 03:43 PM Bug #130 (Assigned): Context managers don't account for exceptions
Jeff Forcier
avatar 03:43 PM Support #127 (Assigned): Add PyPM to the installation document
Jeff Forcier
avatar 03:43 PM Feature #125 (Assigned): Support writing to a file in addition to appending
Jeff Forcier
avatar 03:43 PM Bug #123 (Assigned): ImportError in _get_system_username on cyqwin without win32api installed
Jeff Forcier
avatar 03:43 PM Support #124 (Assigned): Maybe replace custom output capturing with nose plugin
Jeff Forcier
avatar 03:43 PM Feature #21 (Assigned): Make execution model more robust/flexible
Jeff Forcier
avatar 03:43 PM Feature #3 (Assigned): Make use of ssh_config where possible
Jeff Forcier
avatar 03:43 PM Feature #121 (Assigned): Make put() more flexible re: file modes
Jeff Forcier
avatar 03:43 PM Support #120 (Assigned): Make "fabfiles == Python modules" clearer
Jeff Forcier
avatar 03:43 PM Bug #118 (Assigned): Single quotes in append() don't work, or: goddamn quoting
Jeff Forcier
avatar 03:43 PM Feature #119 (Assigned): Deal with global-vs-local config issues
Jeff Forcier
avatar 03:43 PM Bug #115 (Assigned): Preserving order of hosts
Jeff Forcier
avatar 03:43 PM Feature #116 (Assigned): Support task names with hyphens
Jeff Forcier
avatar 03:43 PM Feature #117 (Assigned): Add mode support to upload_template()
Jeff Forcier
avatar 03:43 PM Bug #114 (Assigned): Ctrl-D causes hanging
Jeff Forcier
avatar 03:43 PM Feature #113 (Assigned): Make sure host lists can be iterables, not just lists
Jeff Forcier
avatar 03:43 PM Feature #112 (Assigned): Add custom docstrings to --list output
Jeff Forcier
avatar 03:43 PM Support #111 (Assigned): Backport major compatible "1.0" (master) features to 0.9.x
Jeff Forcier
avatar 03:43 PM Bug #110 (Assigned): Reorder fab CLI arguments list to be alphabetical
Jeff Forcier
avatar 03:43 PM Bug #109 (Assigned): put() raising "NoneType has no attribute 'st_mode'" exception
Jeff Forcier
avatar 03:43 PM Support #108 (Assigned): Ensure all first mentions of env vars are links to usage docs
Jeff Forcier
avatar 03:43 PM Feature #101 (Assigned): ANSI Color support
Jeff Forcier
avatar 03:43 PM Feature #106 (Assigned): Improvements to contrib.files
Jeff Forcier
avatar 03:43 PM Feature #107 (Assigned): Allow require()'s provided_by argument to accept non-list values
Jeff Forcier
avatar 03:43 PM Feature #105 (Assigned): Allow use of getpass in prompt when asking user for passwords
Jeff Forcier
avatar 03:43 PM Support #104 (Assigned): Fix up autodoc-generated API docs
Jeff Forcier
avatar 03:43 PM Bug #103 (Assigned): Use 3rd party "decorator" module to fix introspection for decorated functions
Jeff Forcier
avatar 03:43 PM Feature #102 (Assigned): Consider updating abort to be more flexible/featureful
Jeff Forcier
avatar 03:43 PM Bug #100 (Assigned): UnicodeDecodeError on some output (or, implement Unicode support)
Jeff Forcier
avatar 03:43 PM Support #99 (Assigned): Create subsite for user fabfile/snippet sharing
Jeff Forcier
avatar 03:43 PM Feature #98 (Assigned): Optionally avoid using ssh if going to localhost
Jeff Forcier
avatar 03:43 PM Bug #96 (Assigned): Remote 3-strikes auth failure causes traceback
Jeff Forcier
avatar 03:43 PM Support #95 (Assigned): Ensure link to changelog, or changelog itself, is on PyPI
Jeff Forcier
avatar 03:43 PM Support #90 (Assigned): Update docs/templates to allow access to previous versions
Jeff Forcier
avatar 03:43 PM Support #89 (Assigned): Put some hit tracking up
Jeff Forcier
avatar 03:43 PM Support #87 (Assigned): Set up a buildbot
Jeff Forcier
avatar 03:43 PM Bug #88 (Assigned): Switch default behavior of local() to not capture
Jeff Forcier
avatar 03:43 PM Feature #26 (Assigned): Implement "dry run" feature
Jeff Forcier
avatar 03:43 PM Feature #78 (Assigned): Add Tunneling Context to Fab
Jeff Forcier
avatar 03:43 PM Feature #69 (Assigned): Investigate translation of CLI per-task args to Python types
Jeff Forcier
avatar 03:43 PM Support #86 (Assigned): Explore move back to external Paramiko dependency
Jeff Forcier
avatar 03:43 PM Support #81 (Assigned): Maybe switch from Setuptools to Distribute in 1.0
Jeff Forcier
avatar 03:43 PM Bug #82 (Assigned): fabric.contrib.files.append checks beginning of lines rather than discrete lines
Jeff Forcier
avatar 03:43 PM Feature #80 (Assigned): See whether `paramiko.SSHClient.invoke_shell` + `paramiko.Channel.send` i...
Jeff Forcier
avatar 03:43 PM Feature #7 (Assigned): Improved prompt detection and passthrough
Jeff Forcier
avatar 03:43 PM Bug #84 (Assigned): fabric.contrib.files.sed uses "non-standard" flag '-r'
Jeff Forcier
avatar 03:43 PM Bug #85 (Assigned): Prompts for "passphrase" instead of "password" in some situations
Jeff Forcier
avatar 03:43 PM Feature #79 (Assigned): Optional host prefix for get
Jeff Forcier
avatar 03:43 PM Feature #76 (Assigned): Use decorator to define tasks
Jeff Forcier
avatar 03:43 PM Bug #77 (Assigned): If remote and local files are same: empty file as a result
Jeff Forcier
avatar 03:43 PM Feature #71 (Assigned): Consider adding "global"/per-task capture of run/sudo/local stdout/stderr
Jeff Forcier
avatar 03:43 PM Bug #75 (Assigned): "fab" with no arguments and no fabfiles should display help
Jeff Forcier
avatar 03:43 PM Support #73 (Assigned): Once Git can be used, update tutorial to use it.
Jeff Forcier
avatar 03:43 PM Feature #72 (Assigned): SSH key forwarding
Jeff Forcier
avatar 03:43 PM Support #74 (Assigned): Try harder to get package-level stuff worked out
Jeff Forcier
avatar 03:43 PM Feature #68 (Assigned): `fab init` or similar for generating a skeleton fabfile
Jeff Forcier
avatar 03:43 PM Bug #66 (Assigned): Consider making `--hosts` always override `env.hosts`
Jeff Forcier
avatar 03:43 PM Support #65 (Assigned): Use nonstandard Sphinx template
Jeff Forcier
avatar 03:43 PM Bug #60 (Assigned): Use of the "user" argument to sudo() often results in profile load errors
Jeff Forcier
avatar 03:43 PM Feature #8 (Assigned): Add timeout support
Jeff Forcier
avatar 03:43 PM Feature #61 (Assigned): Extend `cd` to work for get/put
Jeff Forcier
avatar 03:43 PM Bug #53 (Assigned): Add command-line option to abort if input is needed
Jeff Forcier
avatar 03:43 PM Feature #57 (Assigned): Support full logging to file
Jeff Forcier
avatar 03:43 PM Support #51 (Assigned): Handle Paramiko-level "logger" issues
Jeff Forcier
avatar 03:43 PM Bug #37 (Assigned): Use of _transport instead of the more appropriate get_transport()
Jeff Forcier
avatar 03:43 PM Feature #38 (Assigned): Implement tunnelling
Jeff Forcier
avatar 03:43 PM Bug #41 (Assigned): get() not using remote filename when downloading to a directory
Jeff Forcier
avatar 03:43 PM Bug #40 (Assigned): get() not correctly detecting number of hosts
Jeff Forcier
avatar 03:43 PM Bug #36 (Assigned): Incorrect import of state.connections
Jeff Forcier
avatar 03:43 PM Feature #29 (Assigned): Allow arbitrary shell commands to be specified on the command line
Jeff Forcier
avatar 03:43 PM Feature #35 (Assigned): Add manpage
Jeff Forcier
avatar 03:43 PM Feature #28 (Assigned): Allow put-style globbing with get
Jeff Forcier
avatar 03:43 PM Feature #33 (Assigned): Look into adding "*" support for hosts/roles
Jeff Forcier
avatar 03:43 PM Support #17 (Assigned): Documentation enhancements (was: Enhance documentation for final release)
Jeff Forcier
avatar 03:43 PM Support #18 (Assigned): Run PyLint to discover unnecessary imports and etc
Jeff Forcier
avatar 03:43 PM Feature #23 (Assigned): Make generic "persistence" context manager
Jeff Forcier
avatar 03:43 PM Feature #22 (Assigned): Allow "aliasing" in env dictionary?
Jeff Forcier
avatar 03:43 PM Support #20 (Assigned): Rework output mechanisms
Jeff Forcier
avatar 03:43 PM Feature #25 (Assigned): Update "use_sudo to be "via" or similar
Jeff Forcier
avatar 03:43 PM Support #16 (Assigned): Increase test coverage
Jeff Forcier
avatar 03:43 PM Feature #19 (Assigned): Implement parallelism/thread-safety
Jeff Forcier
avatar 03:43 PM Feature #10 (Assigned): Overhaul contrib.project.upload_project
Jeff Forcier
avatar 03:43 PM Feature #4 (Assigned): Allow for storing/using metadata about hosts
Jeff Forcier
avatar 03:43 PM Feature #11 (Assigned): Possibly reimplement old undocumented "confirm_proceed" behavior
Jeff Forcier
avatar 03:43 PM Feature #6 (Assigned): Bash/Zsh/etc completion
Jeff Forcier
avatar 03:43 PM Support #15 (Assigned): Try polishing operations' API
Jeff Forcier
avatar 03:43 PM Feature #13 (Assigned): Add command line flag for setting env vars
Jeff Forcier
avatar 03:43 PM Feature #9 (Assigned): Find decent way to perform platform-specific path logic
Jeff Forcier
avatar 03:43 PM Support #14 (Assigned): Reorganize internals a bit
Jeff Forcier
avatar 03:43 PM Feature #5 (Assigned): Consider adding a "fab shell" back in
Jeff Forcier
avatar 03:43 PM Feature #2 (Assigned): Make `put` sudo-able
Jeff Forcier
avatar 03:43 PM Feature #12 (Assigned): Overhaul reboot operation
Jeff Forcier
avatar 03:21 PM Revision 2bf223dfedcc6298cf504af080eb5aa3841ecd63 (master, 0.9, ...): Add reboot() to API
Add reboot() to API Jeff Forcier
avatar 09:57 AM Bug #130: Context managers don't account for exceptions
IRC is a crapshoot, I idle in there all the time but whether I'm actually "there" and listening is kind of random :) I had missed your note until about 3 hours later, I think. So yea -- Redmine is the ticket. (ho ho! get it?) Jeff Forcier
avatar 09:42 AM Bug #130: Context managers don't account for exceptions
Jeff Forcier wrote: > Also, note -- leaving a ticket here is fine, no need to also send a GH pull request, it's just 2x the emails/messages for me to handle ;) Yeah. And I also piped up in IRC for the trifecta :-) Just not sure which was the p... Carl Meyer

01/05/2010

avatar 09:26 PM Bug #130: Context managers don't account for exceptions
Thanks for the catch -- as usual, the first implementation of stuff tends to be relatively naive. Your point is a good one. Will fix / pull down your tweak in the near future. Thanks again! Also, note -- leaving a ticket here is fine, no nee... Jeff Forcier
avatar 08:51 PM Bug #130: Context managers don't account for exceptions
In general, Fabric's context managers fail to clean up after themselves in case an exception is raised within them. This makes it difficult to use them if you're trying to do exception handling. For instance, take the following code: try: ... Carl Meyer
avatar 07:37 PM Feature #129 (Duplicate): Bash-completion script
If you want to reattach this to #6, it can go in with another couple of ideas/links I had in there. I reckon yours is probably similar to the one linked on Github, but I'll double check when I have time to look at that ticket :) Thanks for the ... Jeff Forcier
avatar 06:19 PM Feature #129: Bash-completion script
Hey there, I wrote a Bash completion script for Fabric. Completion suggestions are generated dynamically from the `fab -l` output. Do you have any use for this? Arthur Arthur Koziel
avatar 12:39 PM Feature #56: Add namespacing or dot notation
@Jeff: Thanks. The design idea just hit me the other day and only took 30 or 45 minutes to implement with tests once I settled on it. Regarding the plain import vs. import/register, I'm ambivalent. I don't particularly care for having to use ... Travis Swicegood

01/03/2010

avatar 03:50 PM Revision e3df94c60730523d9929c2a2765fdb6e0903f5df (0.9, master, ...): Add disconnect_all to 1.0 c...
Add disconnect_all to 1.0 changelog Jeff Forcier
avatar 03:47 PM Revision a8465e0d1efacf7ff30771fc9673cbe866f15570 (0.9, master, ...): Docs for previous commit (d...
Docs for previous commit (disconnect_all) Jeff Forcier
avatar 02:34 PM Revision 6756baa15bf03e038a1a72b97fd69e564894f368 (0.9, master, ...): Break out disconnect code i...
Break out disconnect code into network function. Needed for library users to successfully terminate their code; otherwise their scripts will never exit as the SSH connections stay open and prevent termination. Jeff Forcier
avatar 02:23 PM Feature #128 (Wontfix): dont_write_bytecode env var
Jeff B indicated via IRC that this is indeed an edge case, so I'll close it for now. Jeff Forcier
avatar 11:04 AM Feature #128: dont_write_bytecode env var
Oh, and you could also make a temporary directory instead of temporary file, and place your temp fabfile in there. That way when the temp dir is removed, both the py and pyc would get nuked. (I may still add the feature, but it does feel like a bi... Jeff Forcier
avatar 11:03 AM Feature #128: dont_write_bytecode env var
Sounds fair enough. Were you aware of the `sys.dont_write_bytecode` aspect of that 2.6 feature which I appended to the description? Depending on how you're creating these temporary fabfiles, and assuming you're using Fabric as a library instead of... Jeff Forcier
avatar 05:54 AM Feature #128: dont_write_bytecode env var
I'm creating on-the-fly fab files with NamedTemporaryFile for building EC2 images. When execution is finished, the temporary files are automatically deleted, but the compiled .pyc files remain behind. Jeff Bauer

01/02/2010

avatar 11:28 PM Feature #128: dont_write_bytecode env var
To sate my curiosity, what situations are you running into where .pyc files are causing a problem? First time I've heard of this outside of the occasional stale-pyc issues I used to get with mod_python. It looks like this is a pretty easy thing... Jeff Forcier
avatar 01:37 PM Feature #56: Add namespacing or dot notation
I would propose more Pythonic version: - Create **fabric.plugins** setuptools namespace (or [[http://docs.python.org/dev/library/pkgutil.html?highlight=pkgutil#pkgutil.extend_path]]) - let users contribute to that namespace, so contributed f... Domen Kožar
avatar 12:43 PM Feature #128: dont_write_bytecode env var
There are situations where you don't want to leave **.pyc** files around after execution. A current workaround is to do something like this: `PYTHONDONTWRITEBYTECODE=True fab -f myfab.py` But it would be nicer to handle this explicitly in a... Jeff Bauer
avatar 12:16 PM Feature #56: Add namespacing or dot notation
(Note: I got what was probably the same error you got. Looks like a bug in `acts_as_watchable`; will double check your errors later when I have more time. But you're not crazy! :)) Jeff Forcier
avatar 12:14 PM Feature #56: Add namespacing or dot notation
(Nuked the "spam" comments -- note, I do it by editing and just removing all text; Redmine seems to treat that as a deletion and removes the comment. Pretty sure you can edit your own comments, give it a try sometime. Will make a note to look in m... Jeff Forcier

01/01/2010

avatar 02:08 PM Bug #84: fabric.contrib.files.sed uses "non-standard" flag '-r'
In FreeBSD I have the same problem: Bad example: [root@192.168.1.20] run: sed -i.bak -r -e 's/host \*/host 192.168.1.20/g' /usr/local/etc/munin/munin-node.conf [root@192.168.1.20] err: sed: illegal option -- r [root@192.168.1.2... lasi zoillo

12/30/2009

avatar 06:14 PM Feature #56: Add namespacing or dot notation
I just [added support][patch] for this in a slightly different manner over in [my fork][fork]. My solution was to add a `FABRIC_TASK_MODULE` variable, and when that's not False, include those values in the list you build up. Fabric's current tas... Travis Swicegood
avatar 01:51 PM Feature #122: Allow fabricrc to be fabfile-esque Python module?
Yet another thought -- might be better to just search upwards in the file root instead of stopping like we do now. This is closer to what some of the users asked for, and is also a bit cleaner than the more arbitrary "home-dir fabfile plus first l... Jeff Forcier
avatar 01:42 PM Feature #122: Allow fabricrc to be fabfile-esque Python module?
OK, enough modifying the description, time for a comment thread... Had another thought -- if this goes through we should also update `-f`/`--fabfile` to be specifiable more than once, probably the best way to expose the new "multiple fabfile" i... Jeff Forcier

12/27/2009

avatar 10:39 PM Support #127: Add PyPM to the installation document
Since the Windows installation scenario is [not always smooth](http://stackoverflow.com/questions/1917193/installing-fabric-on-windows-error-no-module-called-readline), it would be nice to include a note about PyPM in the fabric installation docum... srid _

12/23/2009

avatar 08:27 AM Feature #76: Use decorator to define tasks
That's true, we could implement both. I'm on the fence about doing so, because I want to avoid falling into the trap of having too many choices/features (simpler is better) but it *would* be nice to offer `__all__` since it's quite Pythonic and wo... Jeff Forcier

12/22/2009

avatar 11:38 PM Feature #76: Use decorator to define tasks
Doh - missed this when I searched for a duplicate before adding. I like the decorator method as well and wouldn't consider the two at odds with each other, but they would require an order of priority. Off the cuff, I'm thinking `__all__` (as i... Travis Swicegood
avatar 11:08 PM Feature #125: Support writing to a file in addition to appending
Thanks for making the ticket, and answering my query about implementation, it's appreciated. Your logic makes sense; offhand I also think I do prefer the approach of having just `write` with `append` being a call to `write(<arguments>, overwrite=F... Jeff Forcier
avatar 10:57 PM Feature #76: Use decorator to define tasks
Travis Swicegood took an independent stab at implementing the `__all__` approach, so if we do end up going that route (still think decorators are marginally better, myself) it can be found on [his github fork @9fdb4a3](http://github.com/tswicegood... Jeff Forcier
avatar 10:55 PM Feature #126 (Duplicate): Allow developer to specify which functions are tasks
Jeff Forcier
avatar 10:01 PM Feature #126: Allow developer to specify which functions are tasks
This feature and tests for load_fabfile() are already completed in [9fdb4a3][] of my [fork][]. [9fdb4a3]: http://github.com/tswicegood/fabric/commit/9fdb4a39235365e1d9f54a788a69480c9cde030d [fork]: http://github.com/tswicegood/fabric/ Travis Swicegood
avatar 09:59 PM Feature #126: Allow developer to specify which functions are tasks
Currently, all functions that do not begin with `_` are considered tasks within Fabric. This exposes any helper functions as full tasks, though they may not work in isolation. One solution to this is to utilize Python's built-in `__all__` valu... Travis Swicegood
avatar 09:21 PM Feature #125: Support writing to a file in addition to appending
I've added this support to [my fork][fork] of Fabric in commit [cc853f1][]. It adds two new commands, `write()` (the one that would normally be used) and a generic command `write_to_file()` which takes the optional `overwrite=False` keyword argum... Travis Swicegood
avatar 09:15 PM Feature #125: Support writing to a file in addition to appending
contrib.files.append allows adding to a file, but it doesn't support overwriting a file. Sometimes you need to be able to just write to a file, regardless of what is there already. The put() command is often useful in such cases, but it doesn't ... Travis Swicegood
avatar 04:23 PM Bug #118: Single quotes in append() don't work, or: goddamn quoting
[tswicegood's fork](http://github.com/tswicegood/fabric/commit/9aee3612beb27a838500be949a3940b963df4dc8), like another older (and since deleted) fork, includes the single-to-double quote change in the files module. At the very least, check with hi... Jeff Forcier
avatar 04:20 PM Feature #25: Update "use_sudo to be "via" or similar
See also some semi-related work in [tswicegood's fork](http://github.com/tswicegood/fabric/commits/master) Jeff Forcier
avatar 03:29 PM Support #124: Maybe replace custom output capturing with nose plugin
Nose ships with [a stdout-capturing plugin](http://somethingaboutorange.com/mrl/projects/nose/0.11.1/plugins/capture.html) which may be useful. Doesn't say anything about stderr, though, which I think some tests need to look at, but double check. Jeff Forcier

12/19/2009

avatar 07:59 PM Feature #3: Make use of ssh_config where possible
Massive overhaul of description. Jeff Forcier

12/18/2009

avatar 06:12 PM Revision 4d88e31a2789a424b7232774dd7106decbc88f77 (master, 0.9, ...): Fix embarrassing mistake in...
Fix embarrassing mistake in previous changeset. Re #23 -- first-draft of feature wasn't working with cd() correctly. Now it does. Jeff Forcier
avatar 05:12 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
Great, and thanks for taking the time to troubleshoot all this. Jeff Forcier
avatar 03:25 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
I am currently setting up a project which will be utilizing fabric. I have removed the 'cygwin' item from win32 = sys.platform in ['win32', 'cygwin']. Once I get the project set up and running I will report back with updates on how things are wo... Nate Anderson
avatar 03:22 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
both work on my systems (vista and XP with cygwin) ... Nate Anderson
avatar 02:51 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
I see, it's been a while so I forgot that we check for cygwin as well. So you're saying that recent Pythons that come with Cygwin have a working os.getlogin() method, then? Could you test out the other few spots in the code where we make use of... Jeff Forcier

12/17/2009

avatar 10:46 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
well I use cygwin on windows and do not have win32 stuff installed and can't run fabric without it. Either is should be on the dependency list or break out cygwin as a different state. If I remove 'cygwin' from the list (win32 = os.platform in... Nate Anderson
avatar 09:46 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
Well it seems to work under cygwin on vista and xp for me. Also the current "not win32" works as well. ![cygwin screenshot](http://lh5.ggpht.com/_SXXaGAVm6bo/SyrsZBHqJ6I/AAAAAAAABMQ/PFkG8ce7dLo/~%2012172009%2062918%20PM.jpg) I will do some ... Nate Anderson
avatar 08:33 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
Have you actually tried using `os.getlogin` on Windows? According to the Python docs, it's a Unix-only operation, which (I imagine) is why all username/homedir patches I've received have made use of `win32api`. Let me know -- I don't test or de... Jeff Forcier
avatar 03:08 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
this should work instead import os return os.getlogin() Nate Anderson
avatar 03:06 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
here is the trace /usr/lib/python2.5/site-packages/fabric/state.py in _get_system_username() 72 return pwd.getpwuid(os.getuid())[0] 73 else: ---> 74 import win32api 75 import win32security ... Nate Anderson
avatar 03:03 PM Bug #123: ImportError in _get_system_username on cyqwin without win32api installed
function _get_system_username() fails when using cygwin without win32api installed. ` /usr/lib/python2.5/site-packages/fabric/state.py in _get_system_username() 72 return pwd.getpwuid(os.getuid())[0] 73 else: ---> 74... Nate Anderson
avatar 02:06 PM Feature #21: Make execution model more robust/flexible
http://github.com/andymccurdy/fabric/tree/class-based-tasks Initial stab at class-based tasks. Tests pass. Probably want to accept more named parameters on in Task.__init__, like hosts, roles, etc which could alter the environment prior to runn... Andy McCurdy

12/16/2009

avatar 06:03 PM Revision 7bd8b892ece5ff7fac85132cb1a5297516704b65 (master, 0.9, ...): Expansion of docstring for ...
Expansion of docstring for new prefix contextmanager. Jeff Forcier
avatar 05:46 PM Revision 847dd2d5d311403767b96bb83d8c46fb9dc6874b (0.9, master, ...): First draft of new prefix c...
First draft of new prefix context manager. Re #23. Jeff Forcier

12/15/2009

avatar 10:50 PM Feature #122: Allow fabricrc to be fabfile-esque Python module?
Yes, right now fabricrc is stupid-simple and only lets you store strings, so it's not a great fit for hosts. Splitting on commas might do the trick, I'll have to think about it. The rcfile really just needs a serious update, such as making it a... Jeff Forcier
avatar 07:55 PM Feature #122: Allow fabricrc to be fabfile-esque Python module?
EDIT: updated subject to reflect another couple of users on the ML wanting basically the same thing -- ability to have more powerful user-specific settings and tasks -- basically an additional fabfile. I think the best forward-looking approach ... Adam Russell
avatar 09:37 AM Feature #121: Make put() more flexible re: file modes
* Current behavior, based on patch from alisaifee, is to automatically try and force the remote file to match the mode of the local file. (Probably added to aid in preserving specific masks like +x or g+w when uploading files new to the remote end... Jeff Forcier

12/14/2009

avatar 07:29 PM Revision bbdf6c7a15902e96c5d5acb3c90f9855ec57b320 (flexible-task-declarations): Add @task decorat...
Add @task decorator for explicit marking of tasks. Re #76. Still needs docs, tests. Should also expand on this to allow easier extension of "detection" algorithm(s), as per branch name :) Jeff Forcier
avatar 06:54 PM Feature #21: Make execution model more robust/flexible
Copy-n-paste of IRC discussion between myself and Andy follows below (wrapped to not break layout.) No real decisions were reached, just some back and forth about pros/cons. It's still clear that classes are powerful and can be used to implemen... Jeff Forcier
avatar 06:44 PM Feature #76: Use decorator to define tasks
Only open question so far is how to handle private-but-marked tasks (which, yes, is one of the reasons I just rejected `__all__` above...meh) but for now, since explicit marking is, well, explicit -- I'll consider both private and public callables... Jeff Forcier
avatar 05:55 PM Feature #76: Use decorator to define tasks
Note, looks like `__all__` does in fact work fine for modules, so that's good to know for the future. I still think the decorator approach works better -- for example, what if someone added names which were not valid tasks (i.e. private names, or ... Jeff Forcier
avatar 03:16 PM Feature #21: Make execution model more robust/flexible
Upon further reflection, I think I prefer the class-based approach. My original hesitation was mostly in the interest of preserving backwards-compatibility. I believe the class-based approach encourages more pluggable tasks that can ultimately... Andy McCurdy
avatar 03:08 PM Feature #21: Make execution model more robust/flexible
That's true, I guess. Of course then (nitpick alert!) we either have task names start looking like CamelCase or we ditch PEP-8 to some degree, neither of which I really like. At any rate, original point stands -- classes are an interesting aven... Jeff Forcier
avatar 02:56 PM Feature #21: Make execution model more robust/flexible
We could make BaseTask's `__init__` perform the setup and call `self.run(*args, **kwargs)` too. That'd avoid a LoC as you could just just say MyTask(). Andy McCurdy
avatar 08:09 AM Support #120: Make "fabfiles == Python modules" clearer
* CLI help text should hopefully mention "module" and/or "import" if there's room for it * Tutorial should mention this explicitly -- it doesn't * There's a quick mention in the usage docs that should be expanded a bit. Jeff Forcier
« Previous
Next »
 

Also available in: Atom