• 0

    posted a message on addonpkg - Perl command line svn addon updater and archiver. (Mac OS X/Windows)
    Quote from break19 »

    I cannot figure out how to get the script to fetch !BugGrabber and !StopTheSpam - i keep getting "-bash: !BugGrabber: event not found"

    same for stop the spam...

    break19


    ! is a special character to the bash shell. To get any addons with ! in there names you will either need to quote the name using single quotes(') for example:
    addonpkg -fetch '!BugGrabber'
    or escape the ! with a backslash(\):
    addonpkg -fetch \!BugGrabber
    Posted in: Updaters
  • 0

    posted a message on addonpkg - Perl command line svn addon updater and archiver. (Mac OS X/Windows)
    Quote from Icerat »

    I get the following now when using: Perl addonpkg -fetch -s d:\myaddons BigWigs
    D:\addonpkg-070109>perl addonpkg -fetch -s d:\myaddons BigWigs
    svn: PROPFIND request failed on '/wowace/!svn/bln/24378'
    svn: No such revision 24378
    Unable to get: BigWigs

    As durcyn said this is an server error message from the wowace svn servers. My guess is also the same that wowace svn mirrors are out of sync. Normally in this case I wait a bit and try again.

    Quote from Icerat »

    On the plus side i now have a StageArea in my C:\Program Files\World of Warcraft\Interface\
    but when i try a perl addonpkg -fetch -s -all
    all i get is a list of the avalible help commands

    Short answer as durcyn also said, drop "-s". The "-s" option is to indicate where the script will download files. It uses the next word as the name of the location of where to store the files. If you are storing stuff in the standard stage area you do not need this option. I had suggested the "-s d:\myaddons" because I wasn't sure if code would properly locate the interface directory under Windows. It sounds like it does however.

    Thanks durcyn.

    PS, I am looking at making the script also able to fetch and work directly with .zip files but need to put some more structure in place. Biggest thing I need to do is detect what version of the zip file you have, what version is available from www.wowace.com/files, etc. I also want to try to do it in such a way that minimizes load on wowace.com and other servers. I'm also looking at adding user defined repositories so the script can pull from other sites. Check out the undocumented .addonpkg.addons file it puts in the staging area if want to see my current progress on this.
    Posted in: Updaters
  • 0

    posted a message on addonpkg - Perl command line svn addon updater and archiver. (Mac OS X/Windows)
    Quote from Icerat »

    Quote from Nayala »

    Okay do you know where your svn command got installed? You can probably do a find files or folder for "svn.exe".


    Was found in "C:\Program Files\Subversion\bin"

    Hope this helps


    Thanks I think I have it working. See the attached file. Let me know how it works for you.
    Posted in: Updaters
  • 0

    posted a message on addonpkg - Perl command line svn addon updater and archiver. (Mac OS X/Windows)
    Okay do you know where your svn command got installed? You can probably do a find files or folder for "svn.exe". Also what do you get in cmd.exe when you run
    echo %PATH%
    ?

    I think I know the problem and the fix.
    Posted in: Updaters
  • 0

    posted a message on addonpkg - Perl command line svn addon updater and archiver. (Mac OS X/Windows)
    Quote from Icerat »

    This looks like someting i would like to use alot but im a windows user and a noob is it possible toget this to run on windows? and if so how?

    All im after is someting what will check for update and then download the update to a given loavation so that i can install myself later.

    At the momen im using WAU


    I don't use windows much but I'll see what I can do to help, though I can't make any promises. First things you will need if you want to use my script is a perl and a svn client. I believe that I've heard that ActivePerl is a windows distribution of perl. http://www.perl.org/get.html. For SVN clients check http://subversion.tigris.org/project_packages.html. Once you have both perl and svn installed you will need to open a command window.

    Start -> Run... -> cmd.exe


    You will need to put addonpkg some place that windows will find it. From there you can run the perl script. You will probably need to run it with the perl command in front.

    perl addonpkg --help

    I would suggest trying just --help option first to check if the script is mostly working.

    To fetch some stuff to d:\myaddons use the following:
    perl addonpkg -fetch -s d:\myaddons addon1 addon2...
    There is a change that when you try to fetch you will get an error message stating "Unable to locate svn command, make sure you have svn installed and in your path". If so I might need to fix some stuff.
    Posted in: Updaters
  • 0

    posted a message on addonpkg - Perl command line svn addon updater and archiver. (Mac OS X/Windows)
    Strange. It takes normally me only a few minutes total to update about 118 addons. You can download everything at once using:
    addonpkg -fetch -all
    With today being a maintenance day, I imagine the load on the SVN server might be heavy today also. I just tried a fetch and it seemed a lot slower than normal. ((Took 11½ minutes this time.))

    Then in the smaller window I will do either:
    addonpkg -install -all

    or if I just want to update a few addons
    addonpkg -install addon1 addon2 addon3 addon4 ...


    Next time you need to update could you use the -v option. It should show everything the script is doing and let me know where the lag you are seeing is. And I will see what I can do.

    * Actually I try to only do complete updates occasionally, most of the time I use a RSS reader (http://groups.google.com/group/wowace/feed/rss_v2_0_msgs.xml) to see which addons I should fetch and do something like: addonpkg -fetch addon1 addon2 ... I've been looking into ways to make my script smarter about what addons it will try to fetch to speed processing up. But want to keep it somewhat generic since I use it for more than just Ace addons.
    Posted in: Updaters
  • 0

    posted a message on addonpkg - Perl command line svn addon updater and archiver. (Mac OS X/Windows)
    Quote from rinced »

    subversion/libsvn_subr/utf.c:466: (apr_err=22)
    svn: Can't convert string from native encoding to 'UTF-8':
    subversion/libsvn_subr/utf.c:464: (apr_err=22)
    svn: /Volumes/Data/Apps/Games ?\198?\146/World of Warcraft/World of Warcraft/Interface/StageArea/!!!StandaloneLibraries
    Unable to get: !!!StandaloneLibraries



    other actions just produce the man page

    The error messages sound like they are coming from your SVN client. Which SVN client are you using? What do you get if you run:
    svn --version

    I'm wondering if svn is getting confused because of the special character in the name of your "Games ƒ" folder.



    Quote from rinced »

    when running the Comment WOW Addon script I always get the Error
    System Events got an error: NSReceiverEvaluationScriptError: 4



    on run
    	tell application "System Events"
    		set addon_folder to path of folder "AddOns" of folder "Interface" of folder "World of Warcraft" of (path to "apps" from "Applications")
    	end tell
    	set these_items to (choose folder default location (addon_folder as alias) with multiple selections allowed)
    	process_items(these_items)
    end run


    what to do ?



    The error above is when trying to run the addon script without any files. It tries to let you pick an addon to comment, but is looking in /Applications/World of Warcraft/Interface/AddOns/... which doesn't exist in your set up. The apple script should still work as a folder action in your /Library/Scripts/Folder Action Scripts/ directory and then attached to your "AddOns" directory or by dragging AddOns to the script directly. I'll look at updating the script shortly so that it will handle this case better.
    Posted in: Updaters
  • 0

    posted a message on Updating Addons
    Using WAU, it you could probably set the WowInstallDirectory to your staging area and then copy the addons from there to your installation.

    My addon script downloads addons to a separate staging directory and lets you compare with the versions installed and install one or more manually from the staging area. However it fetches addons from SVN and not files, and uses non-embedded libraries. I would rather update the libraries separately from the addons and not worry about what addon contains which version etc.
    Posted in: General Chat
  • 0

    posted a message on AceLibray / AceAddon-2.0 interaction with LoD libraries not listed in TOC files.
    Quote from Rabbit »

    Thanks, committed to trunk after some testing.

    I forgot to credit you in the commit, sorry about that.


    No worries, don't care about credit. I just found this whole area an interesting problem after noticing a few addons acting strangely when running without embeds.
    Posted in: Libraries
  • 0

    posted a message on AceLibray / AceAddon-2.0 interaction with LoD libraries not listed in TOC files.
    I can see whats happening to cause the duplicate unregister. It's happens when an AddOn is loaded during OnInitialize itself. It also missed handled some of the edge cases, such as addon1 loading an addon2 before initialization then loaded another addon3 during initialization that loaded another addon4 before initialization, but that was not working correctly before the patch either. ((In that case addon2 might be mishandled, whereas before the patch addon1 would be mishandled and addon3 and addon4 would not be loaded)) My internet is not working the best right now so I can't test this, but the following should work:

    function AceAddon:ADDON_LOADED(name)
    	local unregister = true
    	local initAddon = {}
    	while #self.nextAddon > 0 do
    		local addon = table.remove(self.nextAddon, 1)
    		if addon.possibleNames[name] then
    			table.insert(initAddon, addon)
    		else
    			unregister = nil
    			table.insert(self.skipAddon, addon)
    		end
    	end
    	self.nextAddon, self.skipAddon = self.skipAddon, self.nextAddon
    	if unregister then
    		AceAddon:UnregisterEvent("ADDON_LOADED")
    	end
    	while #initAddon > 0 do
    		local addon = table.remove(initAddon, 1)
    		table.insert(self.addons, addon)
    		if not self.addons[name] then
    			self.addons[name] = addon
    		end
    		addon.possibleNames = nil
    		self:InitializeAddon(addon, name)
    	end
    end


    This change moves the initialization of the addons to after the pending addons have been split off and the event was unregistered if needed.
    Posted in: Libraries
  • 0

    posted a message on AceLibray / AceAddon-2.0 interaction with LoD libraries not listed in TOC files.
    I have a fix for this bug that should still work with modules:

    --- ../StageArea/Ace2/AceAddon-2.0/AceAddon-2.0.lua   2006-12-19 20:02:16.000000000 -0500
    +++ Ace2/AceAddon-2.0/AceAddon-2.0.lua 2006-12-20 23:28:59.000000000 -0500
    @@ -422,13 +422,24 @@
     end
     
     function AceAddon:ADDON_LOADED(name)
    +    local unregister = true
        while #self.nextAddon > 0 do
            local addon = table.remove(self.nextAddon, 1)
    -        table.insert(self.addons, addon)
    -        if not self.addons[name] then
    -            self.addons[name] = addon
    +        if addon.possibleNames[name] then
    +            table.insert(self.addons, addon)
    +            if not self.addons[name] then
    +                self.addons[name] = addon
    +            end
    +            addon.possibleNames = nil
    +            self:InitializeAddon(addon, name)
    +        else
    +            unregister = nil
    +            table.insert(self.skipAddon, addon)
            end
    -        self:InitializeAddon(addon, name)
    +    end
    +    self.nextAddon, self.skipAddon = self.skipAddon, self.nextAddon
    +    if unregister then
    +        AceAddon:UnregisterEvent("ADDON_LOADED")
        end
     end
     
    @@ -679,7 +690,15 @@
     
        self.super = self.class.prototype
     
    -    AceAddon:RegisterEvent("ADDON_LOADED", "ADDON_LOADED", true)
    +    AceAddon:RegisterEvent("ADDON_LOADED", "ADDON_LOADED")
    +    -- Determine addons that have been or are being loaded...
    +    local names = {}
    +    for i = 1, GetNumAddOns() do
    +        if IsAddOnLoaded(i) then
    +            names[GetAddOnInfo(i)] = true
    +        end
    +    end
    +    self.possibleNames = names
        table.insert(AceAddon.nextAddon, self)
     end
     
    @@ -1049,6 +1068,7 @@
        self.addonsToOnEnable = oldLib and oldLib.addonsToOnEnable
        self.addons = oldLib and oldLib.addons or {}
        self.nextAddon = oldLib and oldLib.nextAddon or {}
    +    self.skipAddon = oldLib and oldLib.skipAddon or {}
        self.addonsStarted = oldLib and oldLib.addonsStarted or {}
        self.addonsEnabled = oldLib and oldLib.addonsEnabled or {}
     


    I've attached an archive with the difference, a patched AceAddon-2.0.lua file and 4 addons that can be used to test the library and module interactions.
    Posted in: Libraries
  • 0

    posted a message on AceLibray / AceAddon-2.0 interaction with LoD libraries not listed in TOC files.
    Thanks, though I'm still seeing this with the latest Ace2 revision: 21489. I'll see about packing up a test case when I have more time to look at it.

    Edit: Just noticed the fix got backed out for other reasons.

    Edit 2: I've attached 4 modules that can be used to test this. Just enable the 4 modules and Ace2. It should print out a bunch of message about OnInitialize not being called as well as DummyAddOn being loaded as DummyLib.

    Edit 3: Removed attachment, since see next post with fix.
    Posted in: Libraries
  • 0

    posted a message on AceLibray / AceAddon-2.0 interaction with LoD libraries not listed in TOC files.
    I've noticed that when an addon loads if it loads another addon through LoadAddOn like what hapens when first loading a library but after having registered the addon but before defining the OnInitialize method with
    AceLibrary("AceAddon-2.0"):new()

    the OnInitialize method never gets called. My guess is that the library addon causes an ADDON_LOADED message to be fired. This will cause the addon to be pulled from the AceAddon.nextAddon table with the name of the library and the init() methods to be called. Yet the addon has not fully been loaded so it doesn't initialize properly.

    Perhaps LoadAddOn should be hooked to avoid this, or a change made to how TryToLoadStandalone works so that any addons that it loads looking for a library do not confuse AceAddon-2.0.
    Posted in: Libraries
  • 0

    posted a message on Antagonist
    Quote from Nayala »

    I'm also getting this same error. It appears for some reason OnInitialize() is not getting called, so that when OnEnable() is called the addon can not find some stuff that should have been set up. In my case I run without embeds. I was able to reproduce this area with just the following addons loaded: Ace2, Babble-2.2, ParserLib, PaintChipsLib, CandyBar, DewdropLib, Deformat, and SurfaceLib. Furthermore when I do an /ace2 list ace2 the addon name does not show up. So this may be a strange interaction with AceAddon-2.0.lua not recognizing that this addon has been loaded.


    After doing a little more digging it appears that it might be related to SurfaceLib or an interaction with SurfaceLib. Adding SurfaceLib to the list of OptionalDeps in the toc file probably will fix this.
    Posted in: General AddOns
  • 0

    posted a message on Antagonist
    Quote from BlackZam »

    Im getting this error when I login:
    Error: attempt to index field 'parser' (a nil value)
    AddOn: Ace2
    File: Antagonist.lua
    Line: 89
    Count: 1


    I'm also getting this same error. It appears for some reason OnInitialize() is not getting called, so that when OnEnable() is called the addon can not find some stuff that should have been set up. In my case I run without embeds. I was able to reproduce this area with just the following addons loaded: Ace2, Babble-2.2, ParserLib, PaintChipsLib, CandyBar, DewdropLib, Deformat, and SurfaceLib. Furthermore when I do an /ace2 list ace2 the addon name does not show up. So this may be a strange interaction with AceAddon-2.0.lua not recognizing that this addon has been loaded.
    Posted in: General AddOns
  • To post a comment, please or register a new account.