Menu

#40 asc/bin "auto" choice, based on filename patterns

open
nobody
None
5
2003-12-10
2003-12-10
No

Filezilla does a GREAT job as a Windows Client (to a
*NIX Server), but KBear doesn't provide a similar
feature for the KDE Client connecting to a Windows
Server. Upoading to WIndoz Web Servers, which can
involve a mix of binary files (graphics, java jars,
multimedia files) and text files (html, css, php) is
very inconvenient.

KBear 2.1 documentation says that "Binary will work in
99% of transfers" and mentions only "some perl scripts"
as an exception... This is badly wrong when
uploading/downloading with Windows Servers.

As Filezilla does, KBear should offer "auto" mode for
ASCII vs. BINARY transfers. When running in "auto"
mode, KBear should transfer all files using Binary,
except for files which match the following (default)
filename patterns:

*.asp *.bat *.c *.cfm *.cgi *.conf *.cpp
*.css *.dhtml *.diz *.h *.hpp *.htm *.html
*.inc *.js *.mak *.nfo
*.pas *.patch *.php *.phtml *.pinerc *.pl
*.qmail *.sh
*.shtml *.sql *.tcl *.tpl *.txt *.vbs

The Filezilla "Edit/Options/File Transfer Settings"
menu provides a panel to choose "auto", "ASCII",
"Binary", with the list of ASCII patterns shown below.
The User can add/delete patterns to this list of files
which should be transfered in ASCII. (For example, I
have added "php3" to the default list).

I must currently use Filezilla on a separate Windows
machine to properly manage ASCII/Binary files which
must be uploaded to a Windows Server. (Download using
Filezilla's "auto" feature, then upload to the Windows
Server from the Windows Client.)

I would much prefer to use KBear, transfering directly
from my Web Development machine to the Windows Server.

I am not capable of code Development (C++ or KDE, or
??) but I would be very happy to contribute
documentation changes, UI design review, and testing
for this feature.

Discussion

  • Rick Stockton

    Rick Stockton - 2003-12-11

    Logged In: YES
    user_id=438884

    Forgot to mention: Filezilla is also GPL, in C++, (and
    present on SourceForge), so perhaps some of their
    implementation methods may be imported to KBear.

    Thanks!

     
  • Bj�rn Sahlstr�m

    Logged In: YES
    user_id=145300

    Actually the upcoming KBear 3 already has this implemented.
    It's in CVS or you could pick one of the released alpha
    versions. Not much teste3d though, so if you would like to
    test it please do.

     
  • Rick Stockton

    Rick Stockton - 2004-01-15

    Logged In: YES
    user_id=438884

    I downloaded and tried 'configure' + 'make install' of the
    kbear-3.0alpha1b tar. configure seemed to run OK, but 'make'
    failed. Stdout showed the following error:

    kbearsynchjob.cpp: In member function `void
    KBear::KBearSynchJob::makeSourceList(KURL::List&)':
    kbearsynchjob.cpp:75: error: `ConnectionManager' undeclared
    (first use this function)
    kbearsynchjob.cpp:75: error: (Each undeclared identifier is
    reported only once for each function it appears in.)
    kbearsynchjob.cpp:75: error: syntax error before `::' token
    make[3]: *** [kbearsynchjob.lo] Error 1
    make[3]: Leaving directory
    `/home/rick/tmp/kbear-3/kbear-3.0alpha1b/kbear/lib/jobclasses'

    and then it popped up two more directories before quitting.
    I tried adding a #include "connectionmanager.h", and it
    solved this problem.

    But later, while compiling
    '/usr/lib/qt3/include/qstringlist.h' , the compiler did a
    sigsegv. I'll will look into moving up to GCC 3.3.2.

     
  • Rick Stockton

    Rick Stockton - 2004-01-17

    Logged In: YES
    user_id=438884

    successfully compiled and installed using GCC 3.3.2, with
    #include added as per previous comment. I noticed the new
    "auto" window, very nice, except that it contains no
    defaults. Suggestion: if we put in a couple of the most
    obvious defaults, ".htm", ".txt" then people like me will
    know whether to put in "*.htm" or just ".htm", or ???.

    I *am* having a BAD problem, which might be caused by
    running kbear-3.0alpha1b -with- KDE 3.2 beta2: I can connect
    to sites already provided in sitemanager (Qt, KDE mirrors,
    etc.) But I crash with SIGSEGV when I attempt to connect to
    my own sites, either via quick-connect or via adding them to
    sitemanager. My sites all require user and password. Here's
    the stdout/stderr on the console:

    kbearsitemanagerdb: SiteManagerDB::getSite OUT=<site
    parent="/" label="canemasters.com" >
    <protocol>kbearftp</protocol>
    <host>canemasters.com</host>
    <port>21</port>
    <user>xxxxxx</user>
    <pass>bWFzdGVy</pass>
    <remote_path/>
    <local_path>/home/rick</local_path>
    <description/>
    <anonymous/>
    <auto_reconnect sleep="30" count="10" />
    <filesys_encoding encoding="iso 8859-1" />
    </site>
    kbearsitemanagerdb:
    kbear: Adding SiteConnection with ID=0
    kbear: KBearTabView::addPage ID=0
    widget=[KBear::TransferViewPage pointer (0x83f6a80) to
    widget canemasters.com, geometry=100x30+0+0]
    QObject::connect: No such slot
    KBear::KBearFileSysWidget::slotRedirected(const KURL&)
    QObject::connect: (sender name: 'unnamed')
    QObject::connect: (receiver name: 'KBearWidget')
    kbear: [void KBearChildView::slotInit()] received
    part=0x84d1f28
    kparts: 0x819d170 emitting activePartChanged 0x84d1f28
    kparts: DockMainWindow::createGUI for kbearremotefilesyspart
    kparts: deactivating GUI for kbearremotefilesyspart
    kbear: [void
    KBearChildView::slotClientAdded(KXMLGUIClient*)] part=0x84d1f28
    QMetaObject::findSignal:KFileDetailView: Conflict with
    QListView::doubleClicked(QListViewItem*,const QPoint&,int)
    QMetaObject::findSignal:KFileDetailView: Conflict with
    QListView::doubleClicked(QListViewItem*,const QPoint&,int)
    kio (KIOJob): stat kbearftp://xxxxxx@canemasters.com:21
    QObject::connect: No such signal
    KIO::StatJob::infoMessage(const QString&)
    QObject::connect: (sender name: 'job')
    QObject::connect: (receiver name: 'unnamed')
    QObject::connect: No such slot
    KBearRemoteDirLister::slotStatRedirection(KIO::Job*,const
    KURL&,const KURL&)
    QObject::connect: (sender name: 'job')
    QObject::connect: (receiver name: 'unnamed')
    QObject::connect: No such signal
    KBearListJob::infoMessage(const QString&)
    QObject::connect: (sender name: 'job')
    QObject::connect: (receiver name: 'unnamed')
    kio (KIOJob): KBearListJob: Redirection to
    kbearftp://mshuey@canemasters.com:21/
    kio (Scheduler): _assignJobToSlave(): ERROR, nonmatching or
    unknown job.
    kio (KIOJob): Job::kill this=0x83fa530 m_progressId=0
    quietly=true

    <<CRASH>>

     

Log in to post a comment.