Jump to content
Ketarin forum

appyface

Members
  • Posts

    459
  • Joined

  • Last visited

Posts posted by appyface

  1. @Flo I can't remember if this was fixed before, and is now unfixed?

     

    I created a variable: vers which is 'textual content'

    The content is: {f:yyyy}{f:MM}{f:dd}

     

    I use this to have Ketarin redownload the 0.9.9.22 beta for me whenever you upload it again, and make sure it has a new name. My update attempt errors out because the file's date/time values do not get substituted into {vers}:

     

    Here is the log when I try to update this entry:

     

    1/28/2009 4:56:18 PM: Update started with 1 application(s)

    1/28/2009 4:56:19 PM: Replacing {vers} in 'D:\Stuff\filestore\Updaters\Ketarin-0.9.9.22_{vers}.zip' with '{f:yyyy}{f:MM}{f:dd}'

    1/28/2009 4:56:19 PM: Ketarin redownload 0.9.9.22 beta: Checking if update is required...

    1/28/2009 4:56:19 PM: Ketarin redownload 0.9.9.22 beta: Failed, The specified target path 'D:\Stuff\filestore\Updaters\Ketarin-0.9.9.22_{f:yyyy}{f:MM}{f:dd}.zip' is not valid.

    1/28/2009 4:56:19 PM: Update finished

     

    An easy workaround is to just use the {f:} variables right in the target path, instead of the {vers} variable in the target path. And I've changed it to do just that.

     

    I only mention this because I thought this did work at one point. But maybe not... I think I've slept since then :)

     

    Thanks,

    --appyface

  2. @Flo OK here you go.

     

    This only happens if I rename Ketarin's directory back to the name it had, when the loss of window size/position/??? occured.

     

    An unhandled exception occured and Ketarin needs to be closed.

     

    System.PlatformNotSupportedException: This operation is only supported on Windows 2000 SP3 or later operating systems.

    at System.Security.Principal.SecurityIdentifier..ctor(WellKnownSidType sidType, SecurityIdentifier domainSid)

    at System.Diagnostics.SharedUtils.EnterMutexWithoutGlobal(String mutexName, Mutex& mutex)

    at System.Diagnostics.SharedPerformanceCounter.GetCounter(String counterName, String instanceName, Boolean enableReuse, PerformanceCounterInstanceLifetime lifetime)

    at System.Diagnostics.SharedPerformanceCounter..ctor(String catName, String counterName, String instanceName, PerformanceCounterInstanceLifetime lifetime)

    at System.Diagnostics.PerformanceCounter.Initialize()

    at System.Diagnostics.PerformanceCounter.set_RawValue(Int64 value)

    at System.Net.NetworkingPerfCounters.Initialize()

    at System.Net.Configuration.SettingsSectionInternal..ctor(SettingsSection section)

    at System.Net.Configuration.SettingsSectionInternal.get_Section()

    at System.Net.HttpWebRequest.get_DefaultMaximumResponseHeadersLength()

    at System.Net.HttpWebRequest..ctor(Uri uri, ServicePoint servicePoint)

    at System.Net.HttpRequestCreator.Create(Uri Uri)

    at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)

    at System.Net.WebRequest.CreateDefault(Uri requestUri)

    at Ketarin.Updater.DoDownload(ApplicationJob job, Uri urlToRequest) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Updater.cs:line 531

    at Ketarin.Updater.DoDownload(ApplicationJob job, String& requestedUrl) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Updater.cs:line 496

    at Ketarin.Updater.StartNewThread(Object paramJob) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Updater.cs:line 394

    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ThreadHelper.ThreadStart(Object obj)

  3. @emil

     

    If you're in XP, click the 'advanced' button inside where you define the job (in task scheduler). More options under there, you can run every minute if you like.

     

    If that is not what you want, Flo's suggestion to create multiple jobs is tedious but will work. To do that, consider this example:

     

    You already have a job named "Hourly" which runs every day at 9:30am. Rename that job to Hourly-0930.

    Copy the job and make the new name Hourly-1030. Then edit it and change the time to 10:30am every day.

    Repeat until you have however many jobs that run hourly, at the intervals you need.

     

    I suspect if you want hourly the advanced button will be better. If you're using something other than XP and don't see it, it may not be in the same place.

     

    --appyface

  4. @flo

     

    Ooops maybe not talking to me... ? I downloaded latest 0.9.9.22 just now and tried it. The exception still occurs if I don't rename the directory first. The highlight problem remains, the first variable's value is highlighted, but the next two have no highlighting. CTRL-G does take me to the start of of the values for them, same as before.

  5. @Flo I'm still using the (last I'm aware of) debug version of Ketarin.

     

    I just received a WatchThatPage email notification that CCleaner had a new version out, but Ketarin wasn't picking it up (vis a vis my thread on "independent verification").

     

    I was using a FileHippo ID but for whatever reason it was not serving up the new version even though File Hippo has got the new version...

     

    I decided the heck with FileHippo and just now editing my Ketarin entry for CCleaner to use the CCleaner site instead.

     

    I pasted in a new download URL from the CCleaner site (and the radio button did switch over to it from FileHippo ID). Then on in to edit my variables. I pasted in a new URL for my vers variable to scrape and clicked "load". The page loaded.

     

    The previous scrape used a regex. But Ketarin's default when loading a new page is to move the radio button to "content from URL (start/end)" which it did. Since I still want a regex, I clicked the middle radio button to put it back to using a regex.

     

    As soon as I clicked this Unhandled Exception pop-up box came up:

     

    See the end of this message for details on invoking

    just-in-time (JIT) debugging instead of this dialog box.

     

    ************** Exception Text **************

    System.ArgumentNullException: Value cannot be null.

    Parameter name: pattern

    at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions options, Boolean useCache)

    at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions options)

    at Ketarin.Forms.EditVariablesDialog.RefreshRtfFormatting() in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Forms\EditVariablesDialog.cs:line 495

    at Ketarin.Forms.EditVariablesDialog.SetRtfContent() in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Forms\EditVariablesDialog.cs:line 268

    at Ketarin.Forms.EditVariablesDialog.UpdateInterface() in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Forms\EditVariablesDialog.cs:line 214

    at Ketarin.Forms.EditVariablesDialog.rbContentUrlRegex_CheckedChanged(Object sender, EventArgs e) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Forms\EditVariablesDialog.cs:line 308

    at System.Windows.Forms.RadioButton.OnCheckedChanged(EventArgs e)

    at System.Windows.Forms.RadioButton.set_Checked(Boolean value)

    at System.Windows.Forms.RadioButton.OnClick(EventArgs e)

    at System.Windows.Forms.RadioButton.OnMouseUp(MouseEventArgs mevent)

    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

    at System.Windows.Forms.Control.WndProc(Message& m)

    at System.Windows.Forms.ButtonBase.WndProc(Message& m)

    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

     

     

    ************** Loaded Assemblies **************

    mscorlib

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

    ----------------------------------------

    Ketarin

    Assembly Version: 0.9.9.22

    Win32 Version: 0.9.9.22

    CodeBase: file:///D:/Program_Files_NOINST/Ketarin-0.9.9.22c/Ketarin.exe

    ----------------------------------------

    System.Windows.Forms

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

    ----------------------------------------

    System

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

    ----------------------------------------

    System.Drawing

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

    ----------------------------------------

    System.Data

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll

    ----------------------------------------

    System.Data.SQLite

    Assembly Version: 1.0.58.0

    Win32 Version: 1.0.58.0

    CodeBase: file:///D:/Program_Files_NOINST/Ketarin-0.9.9.22c/System.Data.SQLite.DLL

    ----------------------------------------

    System.Transactions

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll

    ----------------------------------------

    System.Design

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Design/2.0.0.0__b03f5f7f11d50a3a/System.Design.dll

    ----------------------------------------

    System.Xml

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll

    ----------------------------------------

    System.Web

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll

    ----------------------------------------

    System.Configuration

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

    ----------------------------------------

    System.EnterpriseServices

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll

    ----------------------------------------

    Accessibility

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

    ----------------------------------------

    yo-ti8xq

    Assembly Version: 0.9.9.22

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

    ----------------------------------------

    ar1jumh7

    Assembly Version: 0.9.9.22

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

    ----------------------------------------

     

    ************** JIT Debugging **************

    To enable just-in-time (JIT) debugging, the .config file for this

    application or computer (machine.config) must have the

    jitDebugging value set in the system.windows.forms section.

    The application must also be compiled with debugging

    enabled.

     

    For example:

     

    <configuration>

    <system.windows.forms jitDebugging="true" />

    </configuration>

     

    When JIT debugging is enabled, any unhandled exception

    will be sent to the JIT debugger registered on the computer

    rather than be handled by this dialog box.

     

     

    Is this already covered by one of the newer updates to Ketarin? If not then FYI. :-)

     

    --appyface

     

    P.S. I did get a continue or quit option on this pop-up, I chose continue and I'm still in the variable pane, with the regex radio button. I'll continue my editing and see if there are any more problems.

  6. Unfortunately this doesn't work when the files aren't hosted on freewarefiles.
    I believe that fact was adequately described above under the heading:

     

    ****IMPORTANT: This template works for FILES HOSTED by FreewareFiles.com

    on THEIR SERVER' date=' which is the majority of the applications

    listed there..[/quote']

     

    Perhaps the addition of the word "only", would have solved it for nma :-p

     

    Ain't communication fun! Best,

    --appyface

  7. So Sauerkraut does not meet your taste? I suppose that's the typical German food, but I hate it...

    Hey, I *love* sauerkraut! Unfortunately, I'm a "Heinz 57" (non-Americans, look that up) and don't have much of my family geneology, but I've seen enough evidence to convince me a German got involved somewhere back in there :-p

     

    OK I'll redownload the debug version and try again... be right back. <clock ticking>

     

    </clock ticking> I'm back. With the directory renamed back to the 'original 0.9.9.22 name, and the newest debug Ketarin, here's the skinny:

     

    An unhandled exception occured and Ketarin needs to be closed.

     

    System.PlatformNotSupportedException: This operation is only supported on Windows 2000 SP3 or later operating systems.

    at System.Security.Principal.SecurityIdentifier..ctor(WellKnownSidType sidType, SecurityIdentifier domainSid)

    at System.Diagnostics.SharedUtils.EnterMutexWithoutGlobal(String mutexName, Mutex& mutex)

    at System.Diagnostics.SharedPerformanceCounter.GetCounter(String counterName, String instanceName, Boolean enableReuse, PerformanceCounterInstanceLifetime lifetime)

    at System.Diagnostics.SharedPerformanceCounter..ctor(String catName, String counterName, String instanceName, PerformanceCounterInstanceLifetime lifetime)

    at System.Diagnostics.PerformanceCounter.Initialize()

    at System.Diagnostics.PerformanceCounter.set_RawValue(Int64 value)

    at System.Net.NetworkingPerfCounters.Initialize()

    at System.Net.Configuration.SettingsSectionInternal..ctor(SettingsSection section)

    at System.Net.Configuration.SettingsSectionInternal.get_Section()

    at System.Net.ServicePointManager.set_CheckCertificateRevocationList(Boolean value)

    at Ketarin.Updater.DoDownload(ApplicationJob job, Uri urlToRequest) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Updater.cs:line 512

    at Ketarin.Updater.DoDownload(ApplicationJob job, String& requestedUrl) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Updater.cs:line 497

    at Ketarin.Updater.StartNewThread(Object paramJob) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Updater.cs:line 395

    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ThreadHelper.ThreadStart(Object obj)

     

     

    With the directory name still like the original name, Ketarin will not load the webpages for variables at all (I get a pop-up "error" titled message, "The contents of the webpage could not be loaded".)

     

    So to check on the variable highlighting issue, I had to rename the directory first. The highlighting still only occurs for the first variable and not for the next two, in my posted example.

     

    Helpful?

  8. @FranciscoR

     

    OK 'greedy' vs 'lazy' wasn't it :-) Let's see what it is. Yes if you can recreate it, a new thread is great.... hopefully we can spot it.

     

    I think 'C#' in Expresso ought to be the same as '.NET', so that should be fine. Oh, RegexBuddy doesn't load webpages either :-( I wish it did. I let Ketarin load the page and then I select all and copy it to RegexBuddy.

     

    As I mentioned, EditPadPro loads RegexBuddy but then that's the same author... still, I will ask that author whether that is a publicly-available API call. It would be handy if Ketarin could not only launch a preferred tool, but load it too if it knows it can :-)

     

    --appyface

  9. @Flo Yes the time you posted is converted to my time, "Reply by floele Today 00:06:13"!

     

    For highlighting issue, here's the XML for the entry I wrote about above, that highlights only the first variable's regex:

     

    <?xml version="1.0" encoding="utf-16"?>

    <Jobs>

    <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="a22f26bf-ff5e-4532-9d6a-fc324c4ef0ef">

    <DownloadBeta>Default</DownloadBeta>

    <DownloadDate xsi:nil="true" />

    <CanBeShared>true</CanBeShared>

    <ShareApplication>false</ShareApplication>

    <HttpReferer />

    <Variables>

    <item>

    <key>

    <string>urlpart1</string>

    </key>

    <value>

    <UrlVariable>

    <VariableType>RegularExpression</VariableType>

    <Regex>(?<=.*?mirror=).*?(?=&file=)</Regex>

    <Url>http://www.videolan.org/vlc/download-windows.html</Url>

    <Name>urlpart1</Name>

    </UrlVariable>

    </value>

    </item>

    <item>

    <key>

    <string>urlpart2</string>

    </key>

    <value>

    <UrlVariable>

    <VariableType>RegularExpression</VariableType>

    <Regex>(?<=.*?mirror=.*?&file=).*?(?='>Download)</Regex>

    <Url>http://www.videolan.org/vlc/download-windows.html</Url>

    <Name>urlpart2</Name>

    </UrlVariable>

    </value>

    </item>

    <item>

    <key>

    <string>vers</string>

    </key>

    <value>

    <UrlVariable>

    <VariableType>RegularExpression</VariableType>

    <Regex>(?<=.*?mirror=.*?&file=vlc/).*?(?=/)</Regex>

    <Url>http://www.videolan.org/vlc/download-windows.html</Url>

    <Name>vers</Name>

    </UrlVariable>

    </value>

    </item>

    </Variables>

    <ExecuteCommand />

    <Category>000100</Category>

    <SourceType>FixedUrl</SourceType>

    <PreviousLocation>d:\Stuff\filestore\cd_DVD_Video_burners_progs_utils\vlc-0.9.8a-win32.exe</PreviousLocation>

    <DeletePreviousFile>false</DeletePreviousFile>

    <Enabled>true</Enabled>

    <FileHippoId />

    <LastUpdated>2008-12-20T12:27:29.56975</LastUpdated>

    <TargetPath>d:\Stuff\filestore\cd_DVD_Video_burners_progs_utils\</TargetPath>

    <FixedDownloadUrl>{urlpart1}{urlpart2}</FixedDownloadUrl>

    <Name>VLC Media Player</Name>

    </ApplicationJob>

    </Jobs>

  10. But my problem remains: I had a regex match in Ketarin (also validated with Expresso), the page had part of the matched content doubled (and I didn't knew), so while updating this caused Ketarin to extract a A4 page of code as "app name" and saving all that "garbage" into database.

    I'm glad you're getting good use out of Expresso. I've never used it, being that I had RegexBuddy before I heard about it.

     

    RegexBuddy 'understands' different flavors of regex engine. I set RegexBuddy to '.NET' for regex engine and then all the regex I write there should function the same way when I copy it to Ketarin. Does Expresso account for the different flavors of regex engine too?

     

    So. Without seeing the actual content of the webpage or your regex, my best guess would be you experienced a 'greedy' vs. 'lazy' issue, greediness being the most common reason for 'runaway' regex match. Recall from my mini-tutorial :) the + and * and curly braces {} are greedy by default, which means they will gobble up everything in their path until what follows is the LAST time the match can be made. (or, the regex cannot match at all and fails)

     

    In .NET regex the limit for + and * is the end of the webpage, since .NET regex treats a multi-line file as a single giant string. The braces limit the reach with character count, but are still greedy.

     

    So if I have a regex: somestring1.*somestring2

     

    And my content looks like this:

     

         somestring1djdjdkjkdsfdfkjkdsomestring2sdjdfsjfdsfddfsomestring2skjfkdfs
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     

    The large string I show there with '^' characters, is what is returned by my regex, because the * is greedy.

     

    Now if I change the regex to this: somestring1.*?somestring2

     

         somestring1djdjdkjkdsfdfkjkdsomestring2sdjdfsjfdsfddfsomestring2skjfkdfs
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     

    The shorter string is returned for my regex, because the ? changed the * to lazy.

     

    If you still have the example content and regex, see if this is what happened to you?

  11. OK, with new version here's the error:

     

    An unhandled exception occured and Ketarin needs to be closed.

     

    System.PlatformNotSupportedException: This operation is only supported on Windows 2000 SP3 or later operating systems.

    at Ketarin.Updater.StartNewThread(Object paramJob) in C:\Users\Administrator\Documents\Visual Studio 2008\Projects\Ketarin\Updater.cs:line 414

    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ThreadHelper.ThreadStart(Object obj)

     

    For folder names, I unzip each new Ketarin into a folder of the same name as the zip file. If I am re-downloading same name (as for 0.9.9.21 and 0.9.9.22 we have had a few re-downloads), I will first rename the older folder of same name to get it 'out of the way' so my latest one can be the name of the zip file.

     

    So, for my first time use of 0.9.9.22 I unzipped Ketarin into this folder name:

    D:\Program_Files_NOINST\Ketarin-0.9.9.22

     

    Then I copied in my jobs.db file from previous 0.9.9.21 folder.

     

    I was running Ketarin from this folder when I experienced the 'no visible window' issue. Then, once I 'found' the window and resized it, any attempt to update with CTRL-U or 'update now' button, and Ketarin terminated.

     

    At CybTekSol's suggestion to rename, I simply added an 'a' to the end of the folder name:

    D:\Program_Files_NOINST\Ketarin-0.9.9.22a

     

    Ketarin will update without terminating, from this name. Actually, I have since renamed the folder to many different names of varying lengths and Ketarin will update without terminating. But if I rename the folder back to the original name it had when Ketarin's window size/position became confused, then Ketarin will terminate on attempt to update.

  12. LOL Yes back on topic!

     

    I understand this completely and should have described the issue a little differently... please forgive me if I misled anyone. ;)

    No worries! It is always good to clarify regardless of reason for need of it :-)

     

    If RegexBuddy has the capability to highlight additional matches that follow, I believe that this would be VERY productive as an added feature of Ketarin. I have full faith that Florian can code it if he chooses... maybe POST 1.0 Flo?

    I have found it very helpful myself. I also use EditPadPro, another nice program by the same author. Since it can use regex for find loops or for search-and-replace loops, having RegexBuddy as a companion makes for a powerful combination. I pretty much live and breathe in EditPadPro and RegexBuddy anymore. :-)

     

    But as to whether Ketarin should take on this function? You'll get no argument from me about how helpful it would be to have, but as you say it will be up to Flo to decide how far he wants to take Ketarin into more of a Regex development tool.

     

    If it were up to me, regardless of highlighting, etc. that Ketarin might do, I would have a preference setting in Ketarin where I could state the full path and filename of my preferred external regex tool. Ketarin could then launch RegexBuddy (or Expresso or other tool) for me, with the click of a button right from Ketarin's variable definition window!

     

    Taking the idea a step further, Ketarin might also be able to pass the regex and the source material contents to the tool, if it had some knowledge of a few common tools and this was possible to do?

     

    EditPadPro does this. I'll be working on a text file and writing a regex in the find pane or search-and-replace pane in EditPadPro. I click on "RegexBuddy" icon and RegexBuddy is launched for me. My current regex from EditPadPro is loaded into the regex pane and the contents of my EditPadPro editor session is loaded into the working material pane of RegexBuddy. When I close RegexBuddy my regex from there is copied back to EditPadPro.

     

    Of course, because both programs are by the same author, all this can happen. I certainly wouldn't expect Ketarin to receive the new regex when I close RegexBuddy (unless the author of RegexBuddy makes that kind of thing available to 3rd party programs).

     

    I also don't know if RegexBuddy (or Expresso or other tool) will accept the source material and/or regex to be passed in from 3rd party programs. But how neat if Ketarin could do that too!

     

    I'm just thinking (typing) out loud again...

     

    --appyface

  13. Beautiful state! I visited long ago but enjoyed my time there.

     

    The only problem for me, this is referring to "back east" in general, is humidity. I am California born and raised, and still live here. If the humidity goes over 40% in the summer I really suffer. 15% is what I'm used to!

     

    And "night owl" I'm definitely not! When you see me posting about the same time as Flo, it's because I really am up at 3am. Not as in, stayed up until 3am, but got up at 3am :) Bedtime for me in a couple of hours, and it's just shy of 5pm here right now :)

  14. No... that doesn't sound the same as my experience?

     

    My strings fit on the screen in one line. The "goto match" command goes right to them. Everything Ketarin is doing seems accurate except that nothing is highlighted anywhere in the source material. The update log proves to me that Ketarin is getting the string as I intend, it just doesn't highlight that string.

     

    I'm thinking this has to do with loading the same webpage for multiple variables... but that's just conjecture at this point. I will do some testing.

     

    --appyface

     

    P.S. Where in the world are you, CybTekSol? Flo has long ago gone to bed and left us here :-)

  15. Hmm. Not related to multiple highlighting, but to highlighting in general...

     

    I'm using Ketarin 0.9.9.22 (latest upload of it, I think).

     

    I have an entry with three variables defined. All three variables use a regex, and all three scrape the SAME webpage.

     

    1. First variable: urlpart1

    I click on the variable name, the webpage loads, and I see a dark blue highlight of what will be placed into the variable: http://ftp.snt.utwente.nl/pub/software/videolan/ This is correct.

     

    2. Second variable: urlpart2

    I click on the variable name, the webpage loads (it is the same page as for #1), but there is no highlight anwhere. If I use "goto match" (ctrl-g) the cursor is placed at the start of the string that I know will be scraped into the variable. But there is no indication of the actual string that will be scraped.

     

    3. Third variable: vers

    I click on the variable name, the webpage loads (same page as #1 and #2), but there is no highlight anywhere for this one either. Again if I use "goto match" the cursor is placed at the start of the string that I know will be scraped into the variable. But there is no indication of the actual string that will be scraped.

     

    So I run the update and this is Ketarin's logfile, exactly what I would expect:

     

    1/25/2009 3:54:48 PM: Update started with 1 application(s)

    1/25/2009 3:54:49 PM: Replacing {urlpart1} in '{urlpart1}{urlpart2}' with 'http://ftp.snt.utwente.nl/pub/software/videolan/'

    1/25/2009 3:54:51 PM: Replacing {urlpart2} in 'http://ftp.snt.utwente.nl/pub/software/videolan/{urlpart2}' with 'vlc/0.9.8a/win32/vlc-0.9.8a-win32.exe'

    1/25/2009 3:54:51 PM: VLC Media Player: Checking if update is required...

    1/25/2009 3:54:51 PM: VLC Media Player: Update not required

    1/25/2009 3:54:52 PM: Replacing {vers} in '{vers}' with '0.9.8a'

    1/25/2009 3:54:53 PM: Update finished

     

    So I am thinking the new highlighting thing is not yet working quite right? Even before asking Ketarin to highlight all possible matches in a file?

     

    --appyface

  16. @CybTekSol and FranciscoR

     

    By definition, there can only be one match with regex, outside of a function or other looping construct. So you could say it only returns the first match.

     

    CybTekSol, I know what you meant when you wrote, "it was picking up 2 matches and the jump went to the one other than my intended match" -- but in actuality it only matched the first one based on what you told it to do :-) I know that sounds like anal semantics, but it is an important distinction to be aware of with regex.

     

    FranciscoR, I'm not sure how Ketarin would be able to help? There may be additional matches beyond the one first matched with the regex, do you want Ketarin to highlight those additional matches, as if a looping construct were in effect? E.g. Keep reapplying the regex on the portion of the material left, following each successful match, and highlight it?

     

    The tool I use, RegexBuddy, does that. (I'm not sure if Expresso or other tools will do this.) Although the regex itself will always return the first match (by definition), RegexBuddy will highlight in the source material any additional matches that follow. This is purely informational in case it helps with the construction of the intended regex.

     

    Or did I misunderstand what you were proposing for Ketarin to do?

     

    --appyface

  17. @Flo @Crash: Could you please check if a re-downloaded beta shows some more information?

     

    OK done. Here's what I got:

     

    An unhandled exception occured and Ketarin needs to be closed.

     

    System.PlatformNotSupportedException: This operation is only supported on Windows 2000 SP3 or later operating systems.

    at Ketarin.Updater.StartNewThread(Object paramJob)

    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ThreadHelper.ThreadStart(Object obj)

     

    How odd, my system is XP Pro Sp3 (plus everything else m$ update has thrown at it...)

     

    Even stranger (to me) is that renaming the directory Ketarin is running from (jobs.db and System.Data.SQLite.DLL also in that directory), prevents this error.

     

    Unless that makes sense to you, Flo?

  18. Yes... but that's not all :-) Ketarin can help me identify if I'm not monitoring the right thing with variable X, too.

     

    1. Ketarin does not download a new file, and variable X has not changed in content.

    Statuses match. No alert.

     

    2. Ketarin does not download a new file, and variable X has changed in content.

    Statuses do not match. Alert.

     

    3. Ketarin downloads a new file, and variable X has not changed in content.

    Statuses do not match. Alert.

     

    4. Ketarin downloads a new file, and variable X has changed in content.

    Statuses match. No alert.

     

    5. Ketarin's download attempt of a new file has error. We already get an alert for this.

     

    6. Ketarin's attempt to populate variable X has an error. I'd want an alert for this.

     

    Cool if this is on your list!

     

    --appyface

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.