Giter Site home page Giter Site logo

cmdln / flashbake Goto Github PK

View Code? Open in Web Editor NEW
455.0 455.0 39.0 447 KB

Scripts to gather information for including in version history comments and to make using source control a bit simpler for non-technical projects.

License: GNU General Public License v3.0

Python 96.97% AppleScript 3.03%

flashbake's People

Contributors

bfordham avatar bumblebee211196 avatar cmdln avatar federicoceratto avatar garthk avatar ianpaul avatar jpenney avatar svenkat19 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flashbake's Issues

Add more Python 3 styling

Although it still officially works, Python 3 styling uses {}.format for string formatting instead of %s % variable. This has been done in some places, but needs to be finished. If anyone else sees any other Python 3 styling changes that should happen please mention them in this thread.

Rework entry point to be more easily re-used

To start with, make it amenable to direct calling from the entry point used by the flashbakeall wrapper script. Doing so should make the console module more useful for any other scripting purposes, like enhanced or alternate front ends.

Call for Python 3 testers and contributors

Calling contributors, collaborators, and those who've recently shown interest in Flashbake including @brainwane , @ElonSatoshi , @bfordham , @jpenney .

Flashbake's main repo is now compatible with Python 3 (and not backwards compatible, sorry, but there are past releases for that). The bulk of the coding is done, and basic testing has been done on Windows 10, Crostini, Ubuntu 20.04 and 21.04, and macOS Catalina. But getting more testers helping out before a release would be fantastic. If any of you are using Flashbake, or would like to start again, would you be willing to test the Python 3 version, and report back (or fix) any bugs or issues?

Right now you have to clone the main repo as there's no Python 3 release yet. Any help testing or contributing would be most appreciated.

Note for Mac users: You must install Flashbake's three dependencies manually in addition to installing the Python 3 setuptools--and tweepy if you want to use the Twitter plugin.

custom commit message

I think it'd be a good idea to include a switch that can be used to add in a custom comment in addition to the ones generated by the plugins. Or does something like that already exist?

Add a Mastodon plugin

Since Identica is gone, it would be good to add Mastodon support through the Twitter plugin or as a separate plugin depending on what this feature would require.

Add a contributor's guide

As a potential contributor, having more documentation on how to make a first time contribution or many over time would be helpful and could encourage more people to help maintain flashbake.

Such a guide could include

  • Coding conventions, formatting, and other suggested or required style
  • How to run and test
  • Expectations when submitting a PR such as best effort testing
  • Common issues
  • Guidance on our label usage

add timestamp plugin or option

It'd nice to have a timestamp plugin or option, so the timestamp is the first line in the commit message. A custom message option would be nice also.

Both would go along way to make commits in github look better :)

enhancement

Handle missing .flashbake more gracefully

Surprised this didn't occur sooner. With the latest released version, if you give a bad directory as the project directory, you get a nasty IOError, not a friendly warning it could not find the .flashbake file.

Error when committing with iTunes plugin

I just installed flashbake to give it a spin, and when I use the music plugin to record what's playing in iTunes, every commit message includes an error message like this in the middle of the iTunes information:

osascript[68251:707] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find: /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers. 2012-02-18 23:23:34.823 osascript[68251:707] Error loading /Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools: dlopen(/Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools, 262): no suitable image found. Did find: /Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools: no matching architecture in universal wrapper osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/List & Record Tools.osax" declares no loadable handlers.

I'm currently using an intel mac running Lion (10.7.3). Some googling has lead me to believe it has something to do with Adobe Unit Types not providing a 64bit binary. For example, see the discussion here: http://forums.adobe.com/thread/486208.

I have no python experience whatsoever, so I don't know how to fix it. Any help would be appreciated.

Other than that, flashbake is very cool. Thanks for all the hard work you've put in already.

Modified files get not recognized

Hello,

I just tried flashbake using my ubuntu 14.04LTS. The effect was - well - catastrophic. Flashbake did not recognize any modifications of any file. Thus I installed the most recent version from github but without success.

A bit more verbose:

  • Create a new folder. Create a git repo therein (git init).
  • Create a dummy config file. In my case it was just

plugins:flashbake.plugins.timezone:TimeZone
a

b

  • Create the file "a" and do a flashbake on the directory. The file gets checked in (ok so far).
  • Create a second file "b" and uncomment in the config file. Using flashbake it gets checked in.
  • Modify either file. git status shows the modifications clearly. When I apply flashbreak I get the message that no constent to be checked in has changed. (???)

Please note a small "bug": You seem to parse the output of git in some sense. If the user has a different language than English, you get into trouble. In this case (I am German) flashbreak did not even check in the very first version. I had to manually export LANG=C before. Maybe you might alter the LANG environment variable on calling git such that English is always used.

Hope this helps.
Christian Wolf

Bring the Scrivener plugin to Python 3 Flashbake

During the Python 3 port it wasn't possible to get Scrivener working in time, but now we can work on getting this plugin back. The aim is to have it work on both Scrivener for Mac and Windows, though if we have to choose between the two for a first release then Mac will be the priority.

Handle cron failures better

I don't think this can be done in the flashbake code as the problem that brought this to light was a system upgrade that clobbered the flashbake install. But some way of re-routing the local mail on failure under cron to a normal address would do the trick.

Adapt plugins for pre-processing hook.

This feature could also be used to 'generate' pdfs or other artifacts that you may want archived alongside the snapshot. (e.g. collect and compile 'todos' from source documents in a todo-log message).
I want to use this to manage snapshots of docx files. The only reasonable way for this to work is if i have a plugin that 'pre-processes' the folder and unzips the docx into an appropriately named folder, which is also committed.

So an explicit pre-process hook or similar. My skim of the plugin overview seems to imply its focus is on git commit message creation rather than any document processing.

Idea: Plugin which puts last-modified dates of files with changes and similar data into the commit message

What I mostly miss with flashbake is a plugin which puts the state of the repository into the commit message, especially those things I don't see by default in the commit, like e.g.

  • File owners and groups
  • Ignored, but present files
  • Time stamps of (changed) files

All those things should be doable with an ls -la or so. Other, similar ideas, but maybe suitable for a different plugin:

  • System's lastlog, i.e. show which users where last logged in when. Given a daily autocommit, probably the lastlog of the past 24 hours is the interesting one.

All those ideas gather around the need to have as much information as needed to figure out whose changes were automatically committed.

Enhance file plugin protocol to handle deletions

Scrivener not only auto creates files, it cleans some up over time, too. The file plugin protocol needs to have a hook to run after the main commit to deal with any deletions a plugin may know about. The main git code and the config class will need to be enhanced to capture and share information on any deleted files, if possible, from git's status.

Twitter no longer works requires OAuth

Twitter doesn't work. As of March 17, 2017 I'm working on a new script, but as I'm new to Python this is going to take me at least a few weekends. If anyone with better Python chops can whip up a solution faster than that please do.

Minor change needed to run under Python 2.4.3

In order to get 'flashbake' running under Python 2.4.3 (RHEL) I had to make the following change:

diff --git a/flashbake/git.py b/flashbake/git.py
index 31222e5..5baa7c0 100644
--- a/flashbake/git.py
+++ b/flashbake/git.py
@@ -32,7 +32,7 @@ class VCError(Exception):
     def __str__(self):
         return repr(self.value)

-class Git():
+class Git:
     def __init__(self, cwd, git_path=None):
         # look for git in the environment's PATH var
         path_env = os.getenv('PATH')

push flashbake on pypi

Hello,

Can you push flashbake to pypi plz? Like that everyone will be able to install it using easy_install/pip.

Since you already have a working setup.py this should be very easy to do (2 commands to launch after creating an account on pypi: one to register to project, the other one to push it).

Thanks in advance,

Tell me if you'd like details instructions.

A DNS error is bubbling out from a plugin to stderr

Not the end of the world but network errors should not tank a commit, they should just trip the no network available message in the commit. I need to reproduce this locally so I can figure out which plugin is responsible. Cory reported this and roughly correlated a name or service unknown error showing up in a cron mail with some work he was doing offline.

Update the Wiki for Python 3 version

The wiki needs to reflect the existence of the Python 3 version of Flashbake. Some of this is done already, though special installation instructions for Mac users needs to be added, as does an explanation about Rhythmbox for Ubuntu and the absence of Banshee. I'll be handling this one.

Failing test

In the directory test/files.py, the function def testoutside(self) tests to see if Flashbake is catching outside files.

This test is currently failing.

It would be good to understand why and get it fixed up. See this commit for what the test originally looked like in Python 2.

can't pull data from 2 different feeds

I tried to configure 2 feeds, one from my blog and another one from last.fm, but flashbake only published the one from last.fm.
The feed from my blog was functioning perfectly before, and functioned perfectly after I deleted the call to last.fm feed.

Add exception handling to plugins where appropriate

There are a number of plugins that connect to online resources and don't have exceptions built-in. That means when they fail, they fail hard with ugly error messages for the user. It would be better to avoid this when possible. See the feed.py plugin for an example of how error handling is typically employed.

Location.py always prints at top of commit message

It would be better if location didn't always print at the top of the commit message since it forces users to choose between using this plugin and putting other information at the top of the commit message.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.