Giter Club home page Giter Club logo

sublimetext2-ftpsync's Introduction

FTPSync

Addon for Sublime Text 2 and Sublime Text 3

No longer maintained

Unofortunately no longer have time to continue with fixes and improvements :( I hope it will still be a bit useful. The plugin will continue to be free to use. If someone wishes to continue with development feel free to remove this message

Simple and free plugin for FTP synchronization. Just hit the save as usual and it's upped.

What's there for you?

  • Multiple named upload targets
  • Ignored file regex patterns
  • Secure transfer using TLS
  • Downloading via temporary file (better stability)
  • Determining newer remote files, overwrite protection
  • Manual multiple file & folder up/downloading (sidebar context menu)
  • Multithreaded uploading and downloading
  • Local&remote renaming and deleting
  • Progress bar for multiple up/download
  • Remote browsing and manipulating via file list

For more info look into Wiki

How to use

To mark a folder and descendants for upload insert ftpsync.settings file in following format. Don't worry - the skeleton can be simply inserted using Preferences > Package Settings > FTPSync > Setup FTPSync in this folder or using context menu in Side bar or using Control/CMD+Shift+P.

Sample settings file with minimum of options: ( does not contain all options )

 {
    'primary': {
        host: 'ftp.mywebsite.com',
        username: 'johnsmith',
        password: 'secretpassword',
        path: '/www/',

        upload_on_save: true,
        tls: true
    }
}

Set password to null (don't use quotes) if you do not want to store password in a file and set in manually (FTPSync will request the password in such case).

All connection settings »

Files are automatically uploaded on save (unless disabled by upload_on_save=false setting). In your newly created settings file some options are preceded with //, this means they are commented out (and default value from global settings file is used) - remove the // to enable the entry.

Drawbacks and notes

  • SFTP is not supported at the moment and is not planned in near future (you can use SFTP or Mote plugins)
  • SSL/TLS is not supported for servers that enforce SSL_REUSE (encryption support will hopefully increase in future)
  • Does not support continuous watching and syncing, only (after) manual action
  • Does not support proxy connections
  • Does not support remote diff at the moment
  • Does not support special characters in remote path at the moment

About

Done by Jiří @NoxArt Petruželka ~ Twitter

Released under MIT licence.

Thank you for the financial support!

Feel free to add issues, ideas, pull requests...

Thanks to thecotne, castus, tommymarshall, TotallyInformation, saiori, vnabet, Jcrs, ItayXD, bibimij, digitalmaster, alfaex, seyDoggy, Nuno, mikedoug, stevether, zaus, noAlvaro, zofie86, fma965, PixelVibe, Kaisercraft, benkaiser, anupdebnath, sy4mil, leek, surfac, mitsurugi, MonoSnippets, Zegnat, cwhittl, shadowsdweller, adiulici01, tablatronix, bllim, Imaulle, friskfly, lysenkobv, nosfan1019, smoochieboochies, Dmitry Loktev, fedesilvaponte, fedegonzaleznavarro, camilstaps, maknapp, certainlyakey, victorhqc, eniocarv, molokoloco, tq0fqeu, Arachnoid, ahgood, SourceR85, nirajaryal, Stock-webdesign, chachan, webattitude, VarinderS, Gadoma, pnukeid, patatjenl, ridethepinguin, Kovas, giolvani, superDuperCyberTechno, druellan, StuartMorris0, adisos, marcoflorian, MartinBucko for reporting issues, ideas and fixing!

Tips

  • Set key bindings (hotkeys) for frequent actions you use

Please edit only Key Bindings - User, open using: Preferences > Package Control > FTPSync > Key Bindings - User You can use the contents of Key Bindings - Default as a template and copy it there. If you edit Key Bindings - Default (either Sublime's or FTPSync's), your changes will be lost on update. More info

  • Renaming and deleting

Please keep in mind that for deleting and renaming on server you need to use FTPSync > Rename respectively FTPSync > Delete features, not those in Sublime Text 2 or SideBarEnhancements.

  • Working from more places? Or in team?

You can either use download_on_open=true to check files upon openning or FTPSync: Check current file command to see whether you have the same version as is on all servers. Using overwrite_newer_prevention is also recommended (it's actually enabled by default).

  • Upload different language versions to different servers of paths e.g.

      {
          "<connection_name>": {
              "host": "ftp.host.en.com",
              "ignore": "/locale/(?!fr)\\w+/.*"
          },
          "<connection2_name>": {
              "host": "ftp.host.cz.com",
              "ignore": "/locale/(?!cz)\\w+/.*"
          }
      }
    
  • Using file compilation? Want to upload as well?

You can use after_save_watch option to setup files to be watched for change after uploading on save. Learn how to use in Wiki.

sublimetext2-ftpsync's People

Contributors

leek avatar mikedoug avatar noxart avatar thecotne avatar titobouzout 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sublimetext2-ftpsync's Issues

Remote Folder Listing

I know since this plugin is called FTPSync that it may not be relevant, but I am trying to use FTPSync as a replacement for full FTP functionality that I had in Coda on Mac. And on Coda, there were both local and remote views of files, It would be great to be able to list the file structure in a tree view just like the local structure.

The key actions I need for the remote structure are:

  1. Deleting files/folders
  2. Downloading files/folders

Now I know the downloading is already available, but it may be more intuitive to do so from a remote view.

If creating this view (in something of a sidebar) is not possible with the current Sublime plugin capabilities, please let me know.

Thanks
Ben

Saving ftpsync.settings

I get this error when saving the config file:

Traceback (most recent call last):
File ".\threading.py", line 532, in __bootstrap_inner
File ".\FTPSync.py", line 773, in run
File ".\FTPSync.py", line 569, in performSync
File ".\FTPSync.py", line 393, in loadConfig
File ".\FTPSync.py", line 341, in verifyConfig
TypeError: cannot concatenate 'str' and 'type' objects

and so, download and upload doesn't work :(

Simultaneous Uploads

When I click upload on a whole folder, it up's the files one by one. It would be awesome if it could have a number of downloads running simultaneously.

I don't use the automatic uploading because some content I don't want uploaded just yet, but when I am finished development and am ready to upload, then I want to upload the whole folder. It is mainly due to the latency of my Internet connection and a low grade server that would make this useful (my bandwidth is ok).

Uploaded Failed

Hi sorry, but i can't describre how i get the errors, seems to be ¿randomly?.

I just, press CTRL + S to save the document, and get

      FTPSync [hosting_name] > getting metadata failed: {filename.php} <Exception: [Errno 1] _ssl.c:1209: error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry>

then i try to upload the file and:

      [Errno 1] _ssl.c:1209: error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry

FTPSync [hosting_name > upload failed: {filename.php}

I solve this restarting sublime, but you understand that i think is not the best solution.

Any ideas ?

this are my ftpsync settings if it helps

   {
       "myhostname": {
              "host": "myhostaddr",

              "username": "username",
              "password": "*****",

              "path": "/public_html/",

              "upload_on_save": false,
              "download_on_open": false,

              "port": 21,
              "tls": true,
              "passive": true,
              "timeout": 30
          }


   }

"Setup FTPSync in this folder" always dimmed for me

I confess I may be missing something obvious, but...

Steps to reproduce:

  1. Install FTPSync via Package Control
  2. Open a folder in Sublime Text 2
  3. Right-click on a folder in the project sidebar and choose the "FTPSync" submenu

Expected result:

  • "Setup FTPSync in this folder" menu item available

Actual result:

  • "Setup FTPSync in this folder" menu item is dimmed and cannot be selected.

Sublime Text 2, v 2.0 build 2210
Mac OS X Lion 10.7.4

Thank you!

BUG v2012.12.25.15.26.09

just notice FTPSync Upgraded to v2012.12.25.15.26.09 and it stop working both on my pc. i restart sublime and my pc too. but not working.

i copy the log file. if it can help


Exception AttributeError: "'SyncCommandUpload' object has no attribute 'delayed'" in <bound method SyncCommandUpload.__del__ of <FTPSync.SyncCommandUpload object at 0x0000000004D49198>> ignored
FTPSync > Loading config: cache hit (key: C:\Users\Anup\Dropbox\www\khulnahost.com\public_html\clients\templates\orderforms\******\configureproductdomain.tpl)
Exception in thread Thread-14:
Traceback (most recent call last):
  File ".\threading.py", line 532, in __bootstrap_inner
  File ".\FTPSync.py", line 1560, in run
  File ".\FTPSync.py", line 872, in __init__
  File ".\FTPSync.py", line 836, in __init__
  File ".\FTPSync.py", line 765, in __init__
  File ".\FTPSync.py", line 515, in loadConfig
  File ".\FTPSync.py", line 421, in verifyConfig
KeyError: 'use_tempfile'

Exception AttributeError: "'SyncCommandUpload' object has no attribute 'delayed'" in <bound method SyncCommandUpload.__del__ of <FTPSync.SyncCommandUpload object at 0x0000000004D4FE10>> ignored

Renaming and Deleting files do not work

I don't know if it is already implemented but it does not work for me, and I think it is normal to have this functionality.

I need when file gets renamed or deleted locally, the same to happen to the remote server.
Now it doesn't. Even using the "FTPSync -> Rename" button does not rename the file remotely.

Aside of that, great plugin! Thank you!

Syncing all changed files

Hi, I am using your plugin with LESS-build plugin which is building CSS files from LESS files. So after editing file style.less new file style.css is created by LESS-build plugin. Problem with this is that FTP Sync is syncing only files edited by me (user) not files edited by aditional plugins. So, style.less is uploaded, but style.css is untouched.

Maybe you can check (after save) for changed files all over the project folder and upload them as well?

PS: Maybe some "sync timeout setting" will be good, to let other plugins do their work and build files, and start syncing after 1s for example.

Thanks :)

Download on open

Hello,
I am new to github and to this project. A friend just introduced me to Sublime Text and so far I'm pretty excited. I am curious about a couple different things. I am used to using Dreamweaver's ftp utility. Can this do something similar where it will alert me if the file I'm about to upload is older than the file already on the server? I work from multiple places and sometimes forget to download first.
Is it possible to have this download the latest file on Open? So as to avoid forgetting to download first?

Thanks for any help or answers you can give me. Thanks also for working on a great addition to Sublime Text.

Connection failed <Exception: timed out>

I get the following errors when trying to upload a file:

FTPSync [seydesign_apps] > Connection failed <Exception: timed out>
Exception in thread Thread-6:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 532, in __bootstrap_inner
  File "./FTPSync.py", line 1068, in run
  File "./FTPSync.py", line 636, in performSync
  File "./FTPSync.py", line 431, in getConnection
  File "./ftpsyncwrapper.py", line 375, in close
AttributeError: FTPSConnection instance has no attribute '__len__'

And here are my settings:

{
    "root_folder": {
        "host": "my_domain.url",
        "port": 22, // use 22 for SFTP
        "username": "my_user_name",  // or null for anonymous login
        "password": "******",
        "path": "/my/path/here",
        "upload_on_save": false,
        "timeout": 30,
        "check_time": true,
        "default_folder_permissions": "755"
    }
}

Error

Sorry,my poor English.
Thanks to your plugin for saving my hand .

"version": "2012.12.25.17.25.14"

Traceback (most recent call last):
  File ".\threading.py", line 532, in __bootstrap_inner
  File ".\FTPSync.py", line 1644, in run
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 3: ordinal not in range(128)
Traceback (most recent call last):
  File ".\threading.py", line 532, in __bootstrap_inner
  File ".\FTPSync.py", line 1560, in run
  File ".\FTPSync.py", line 983, in execute
AttributeError: 'NoneType' object has no attribute 'isFinished'
Exception in thread Thread-10:
Traceback (most recent call last):
  File ".\threading.py", line 532, in __bootstrap_inner
  File ".\FTPSync.py", line 1602, in run
UnboundLocalError: local variable 'config' referenced before assignment
Traceback (most recent call last):
  File ".\sublime_plugin.py", line 190, in on_post_save
  File ".\sublime_plugin.py", line 154, in run_timed_function
  File ".\sublime_plugin.py", line 189, in <lambda>
  File ".\FTPSync.py", line 1497, in on_post_save
  File ".\FTPSync.py", line 243, in getConfigFile
  File ".\ftpsyncfiles.py", line 163, in getFolders
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 3: ordinal not in range(128)

Upload and Download

Hello again NoxArt,
I noticed tonight that I seem to be having issues with downloading files or uploading some. I just downloaded a file and it worked and then immediately tried to upload and got this:

FTPSync > Loading config: cache hit (key: D:\Users\saiori\Websites\Redglue\Lighting Developer\search_romeo\search_power_supply.inc)
FTPSync > Connection cache hit (key: e200f3d5e57e0fac65d4aedb553520b3)
FTPSync > performSync exception: 'NoneType' object has no attribute 'sendall'
FTPSync [default] > upload failed: {search_power_supply.inc}

Earlier I tried to download a file I knew was there and:

FTPSync > Checking {search_power_supply.php} if up-to-date
FTPSync > Loading config: cache hit (key: D:\Users\saiori\Websites\Redglue\Lighting Developer\search_romeo\search_power_supply.php)
FTPSync > Connection cache hit (key: e200f3d5e57e0fac65d4aedb553520b3)
FTPSync [default] > getting metadata failed: {search_power_supply.php} <Exception: 'NoneType' object has no attribute 'sendall'>
FTPSync > No version of {search_power_supply.php} found on any server

I know the file is there, because I can get to it via FileZila.

Thanks!

can't recover from idle session timeout.

After session timeout (usually 5 min) i keep getting
[Errno 10053] An established connection was aborted by the software in your host machine

forcing sublime restart. :(

SFTP connection failed

I use the following ftpsync.settings:

{
    "default": {
        "host": "myhost.dyndns-server.com",
        "port": 2233,
        "username": "root",
        "password": "********",
        "path": "/root/Devel/myproject",
        "tls": true
    }
}

When I try to upload or download the folder I get this:

FTPSync [default] > Connection failed <Exception: timed out>
Exception in thread Thread-8:
Traceback (most recent call last):
  File ".\threading.py", line 532, in __bootstrap_inner
  File ".\FTPSync.py", line 1005, in run
  File ".\FTPSync.py", line 763, in performSyncDown
  File ".\FTPSync.py", line 422, in getConnection
  File ".\ftpsyncwrapper.py", line 226, in close
AttributeError: FTPSConnection instance has no attribute '__len__'

Problems connecting

Using correct login credentials, says default login has failed in the notification bar. Any ideas?

Locally added folders fail to upload

Hi,

I have a local folder synced with ftp, and everything works fine until I add a new folder / subdirectory. Then I get this error message:

FTPSync > performSync exception: [Errno 2] No such file or directory: u'/Users/Mono/Dropbox/Documents/Gigahost/mortenscheel.com/tester\test.txt'
FTPSync [default] > upload failed: {tester\test.txt}

In this case I've added the folder "tester" to the root directory and added test.txt.

The two backslashes in the path might be the problem? There are no backslashes in the path for files that upload successfully.

I can get around this problem by creating the folder on the ftp first, then sync, and finally add the new files.

I hope you can help?

Oh and by the way you're awesome for making this plugin!

Morten

Keyboard Shortcuts

Even if they are not added by default, but at lease a blank settings file where we can set them would be great, because I find there are so many times when I am working in a file with the auto-upload turned off and I want to upload the current file from a shortcut.

Expecting , delimiter: line 51 column 3

Hi,

When I save the file this is what I get in console

`Traceback (most recent call last):
File ".\FTPSync.py", line 412, in loadConfig
File ".\FTPSync.py", line 394, in parseJson
File ".\json__init__.py", line 307, in loads
File ".\json\decoder.py", line 319, in decode
File ".\json\decoder.py", line 336, in raw_decode
File ".\json\scanner.py", line 55, in iterscan
File ".\json\decoder.py", line 183, in JSONObject
File ".\json\scanner.py", line 55, in iterscan
File ".\json\decoder.py", line 193, in JSONObject

ValueError: Expecting , delimiter: line 51 column 3 (char 207)

Traceback (most recent call last):
File ".\sublime_plugin.py", line 185, in on_pre_save
File ".\sublime_plugin.py", line 154, in run_timed_function
File ".\sublime_plugin.py", line 184, in
File ".\FTPSync.py", line 1203, in on_pre_save
TypeError: 'NoneType' object is unsubscriptable
Writing file /C/xampp/htdocs/upload/upload.js with encoding UTF-8
FTPSync > Loading config: cache hit (key: C:\xampp\htdocs\upload\upload.js)
FTPSync > Failed parsing configuration file: {C:\xampp\htdocs\upload\ftpsync.settings} (commas problem?) <Exception: Expecting , delimiter: line 51 column 3 (char 207)>

FTPSync > Exception in user code:

Traceback (most recent call last):
File ".\FTPSync.py", line 412, in loadConfig
File ".\FTPSync.py", line 394, in parseJson
File ".\json__init__.py", line 307, in loads
File ".\json\decoder.py", line 319, in decode
File ".\json\decoder.py", line 336, in raw_decode
File ".\json\scanner.py", line 55, in iterscan
File ".\json\decoder.py", line 183, in JSONObject
File ".\json\scanner.py", line 55, in iterscan
File ".\json\decoder.py", line 193, in JSONObject

ValueError: Expecting , delimiter: line 51 column 3 (char 207)

Exception in thread Thread-15:
Traceback (most recent call last):
File ".\threading.py", line 532, in bootstrap_inner
File ".\FTPSync.py", line 1325, in run
File ".\FTPSync.py", line 733, in __init

File ".\FTPSync.py", line 701, in init
File ".\FTPSync.py", line 654, in init
File ".\FTPSync.py", line 465, in getConnection
TypeError: 'NoneType' object is unsubscriptable

Exception AttributeError: "'SyncCommandUpload' object has no attribute 'delayed'" in <bound method SyncCommandUpload.del of <FTPSync.SyncCommandUpload object at 0x09A46E30>> ignored`

line 51 is: <"upload_on_save": true,>

It seems ok to me, don't know what's going on.

Sync my Smarty .tpl files

I am using smarty template engine in my remote host , when i am using FTPSync , my all .tpl files is uploaded in root folder not in
/template directory .

after_save_watch - fire after upload, not save

Per https://github.com/NoxArt/SublimeText2-FTPSync/wiki/Why-and-how-to-use-afterwatch, in order to automatically upload compiled files, like css from scss, we use the config setting after_save_watch.

However, it requires upload_on_save to be true. I prefer to only upload files when I'm ready to push them, not whenever I save them (which is often).

Instead of triggering the watch when the file is saved (which I assume itself triggers the upload), could you trigger the watch when the upload occurs? If that's possible it should satisfy all scenarios.

"upload_on_save": false - Its true always

Hi and thank you for this awesome plugin.

My issue is with the setting "upload_on_save": false which in my case at least is like being in true always.
It uploads the file on save which is kinda slow at least for me when changing multiple files and saving every 10 seconds to check on local.

Any ideas?
Thank you in advance.

FTPSync [default] > Connection failed <Exception: [Errno 8] nodename nor servname provided, or not known>

Getting this error after it loads a bunch of files and then all a sudden I bam....


Traceback (most recent call last):
File "./FTPSync.py", line 509, in getConnection
File "./ftpsyncwrapper.py", line 184, in connect
File "./ftplib.py", line 132, in connect
self.af = self.sock.family
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py", line 547, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
gaierror: [Errno 8] nodename nor servname provided, or not known

Encoding

Hello,
I'm not positive that this is a bug, but it seems to have changed recently for me. It could be an issue with FileZilla but I don't know. If I download a file with Sublime Text via FTPSync it looks fine, but if I download it with FileZilla and then open it in ST2 it gets double returns, which would normally be an issue with end of line encoding.
If I download the file again via ST2, it clears up the double line spacing. I didn't know if you had made any changes lately to encoding or anything that might be overriding the default settings, or maybe it's trying to upload in binary instead of ascii or something. Anyway, if you feel this is a mistake and not actually something to do with FTPSync, I'll take your word for it and just assume it's some bug in FileZilla.

Thanks!

Sync to mapped local drives

I work at a enterprise level organization with our own local web servers. The admins have mapped drives to the webserver on my computer. So is it possible to "G:/public" or even "file://G:/public"? If not is this something that could be added?

Thanks.. great plugin!!!

Connection error

My system : Mac OS X 10,6,8

FTPSync > Loading config: cache hit (key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ftpsync.settings)
FTPSync > Uploading [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ftpsync.settings] ...
FTPSync > file globally ignored: ftpsync.settings

FTPSync > Uploading [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/server.js] ...
FTPSync [default] > Connection failed <Exception: Int or String expected>
Exception in thread Thread-16:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 522, in __bootstrap_inner
self.run()
File "./FTPSync.py", line 534, in run
File "./FTPSync.py", line 356, in performSync
File "./FTPSync.py", line 246, in getConnection
TypeError: close() takes exactly 3 arguments (2 given)

check file not doing much

When I do a check file, it says check if up to date on the bottom but then nothing happens and it goes away.

There is no prompting , I do get prompts as normal for overwrite etc.

FTPSync > Cancelling SyncCommandGetMetadata: zero connections apply
FTPSync > Invalid metadata response, expected list, got <type 'NoneType'>

Established FTP connection on Save document?

It's not a big issue, but i think it will help, sorry if is an duplicated issue, but i search for a similar and i could not found it.

i have the default behaviour option both on the FTPSyng and on the project

    "upload_on_save": false,

The "issue" is that when i save the document (ctrl + s), sometimes appears the option "Cancel Upload" and "Overwrite" the file, sometimes, so i guess that the FTPSync altought the upload_on_save is set to false, it still making a ftp connection.

By the way, maybe this is the correct behaviour that wanted to achive, altought i can't understand.

Problems on setup

I am really sorry, that i be bothering you with what is properly a but have beginners mistake but I have been stuck without being able to make the ftp sync working. I have looked and searched the net, but have not been able to find out why i cant get it to work. So i hope you might be able to help me, and maybe other sublime beginners like my might also learn something.

My setup file:

// your main connection
"Kbhff": {

    // address
    "host": "/linux19.unoeuro.com/",

    //"port": 21,

    // credentials
    "username": "kbhff.dk",  // or null for anonymous login
    "password": "******",

    // path to the folder matching the folder in which this file resides
    "path": "/public_html/new_kbhff/",

    // true = secured FTP connection
    //"tls": false,

    // set whether the connection will be passive or active
    //"passive": true,

    // true = upload on save, false = upload only manually
    // "upload_on_save": true,

    // how long until connection closes [seconds]
    //"timeout": 30,

This is my main setup and i keep getting this error message : FTPSync > Failed parsing configuration file: {/Users/sofiehaugekatan/Dropbox/kbhff_web/offline website/public_html/new_kbhff/wp-content/ftpsync.settings} (commas problem?) <Exception: Expecting property name: line 86 column 2 (char 322)>
FTPSync > Exception in user code:

Another thing i noticed was that there was a comma missing in the line where you type in path, when first setting up the ftp file. I don't know if it is not supposed to be there, but it does not seem change anything for me..

Checks if server & local file are the same before upload

Hi there, first of all great tool here!

I was previously an espresso user and one of the features I missed in espresso is the ability to check if the files on server/local are different before syncing, so that it doesn't waste time to upload the same files.

Here's a screenshot of the feature I was talking about:

It would be great if FTPSync have this feature.

Cheers

Upload proccess seems not to be uploading

Right clicking on file - folder FTPSync setup done accordingly - and hitting "upload" option on context FTPSync menu seems to be uploading, but when I go to server file stills like the old one.

What could be happening?

There's the console log:

FTPSync > Loading config: cache hit (key: /Users/noAlvaro/Documents/Sublime Text/mySite/css/text-markup.css)
FTPSync > Checking {text-markup.css} if up-to-date
FTPSync > Loading config: cache hit (key: /Users/noAlvaro/Documents/Sublime Text/mySite/css/text-markup.css)
FTPSync [default] > Connected to: ftp.noAlvaro.com:21 (timeout: 30) (key: 000000)
FTPSync [default] > Logged in as: mySite (using password: YES)
FTPSync [default] > uploaded {text-markup.css}
FTPSync [default] > closed

Thanks for helping!

Upload on save occurring whether you tell it to or not.

When the Override option box drops down, it seems like it uploads either way. It's either as you click the option or as soon as you save it uploads, then asks you if you want to overwrite.

I'm guessing this has something to do with a timecheck, as the file should have been saved (I knew it was ok for it to go up) but the timing makes it think that it shouldn't be.

To reproduce it: set download on open to false, then any time you try to save a file after that, it seems to drop down the menu.

Thanks!

overwrite_newer_prevention problem

When I try to save a file which is older than the one on the server, the overwrite_newer_prevention warns me and everything is ok. But if I say Cancel (don't upload) and try to save it again, it doesn't warn me anymore and overwrites the file on the server.

Failed to load on Windows

Traceback (most recent call last):
  File ".\sublime_plugin.py", line 62, in reload_plugin
  File ".\pysftp.py", line 16, in <module>
    import paramiko
ImportError: No module named paramiko
found 35 files for base name Main.sublime-menu

Windows 7.

Upload/Download Failing

FTPSync > Loading config: cache hit (key: F:\Users\jmack\Webwork\Embedded Developer\includes\footer.php)
Exception in thread Thread-43:
Traceback (most recent call last):
File ".\threading.py", line 532, in __bootstrap_inner
File ".\FTPSync.py", line 1122, in run
File ".\FTPSync.py", line 796, in performSyncDown
File ".\FTPSync.py", line 372, in loadConfig
KeyError: 'dump_config_load'

I have tried to recreate my ftpsync settings file, but it didn't help.

Exception in thread - KeyError: 'upload_delay'

Recently it stopped being able to upload files. Checking the console, I see:

FTPSync > Found no config > for file: {\path\to\Sublime\Data\Packages\User\Package Control.sublime-settings} FTPSync > Loading config: cache hit (key: \my\files\example.php) Exception in thread Thread-34: Traceback (most recent call last): File ".\threading.py", line 532, in __bootstrap_inner File ".\FTPSync.py", line 1102, in run File ".\FTPSync.py", line 678, in performSync File ".\FTPSync.py", line 405, in loadConfig File ".\FTPSync.py", line 334, in verifyConfig KeyError: 'upload_delay'

My settings are:
`
{
"debug": true,
"debug_verbose": true,

    "project_defaults": {
        "username": null,
        "password": "",
        "private_key": null,
        "private_key_pass": null,
        "path": "/",

        "tls": false,
        "passive": true,
        "upload_on_save": false,
        "port": 21,
        "timeout": 30,
        "ignore": null,
        "overwrite_newer_prevention": true,
        "download_on_open": false,
        "upload_delay": 10,
        "default_folder_permissions": "755",
        "line_separator": "\n",

        "debug_extras": {
            "print_list_result": true,
            "dump_config_load": false
        }
    }
}

`

and the project settings are:
`
{
// don't forget about commas

    // your main connection
    "default": {

        // address
        "host": "IP ADDRESS",

        //"port": 21, // use 22 for SFTP

        // credentials
        "username": "MYUSERNAME",  // or null for anonymous login
        "password": "MYPASSWORD",

        // path to the folder matching the folder in which this file resides
        "path": "/",

        // true = secured FTP connection
        //"tls": false,

        // set whether the connection will be passive or active
        "passive": false,

        // true = upload on save, false = upload only manually
        "upload_on_save": false,

        // "private_key":

        // how long until connection closes [seconds]
        //"timeout": 30,

        // regular expression, when matches the file path of the file-to-be-uploaded, it cancels its upload
        //"ignore": "",

        // whether to check 'last updated' of the target file on server
        //"check_time": true

        // if set to true it will download the file from server on opening, but only if it's newer than the current file
        "download_on_open": false

    }
}

`

Trouble at setup

Hi,

Firstly, thanks for plugin, it is great. But I have some trouble to use it.
When I try to upload by using save or right click menu, it doesn't upload.
I created ftpsync.settings file like this:

{
    "default": {
        "host" : "host",
        "username" : "username",
        "password": "pass",
        "path": "/",

        "tls": false,
        "passive": false,
        "upload_on_save": true,
        "port": 21,
        "timeout": 30,
        "upload_delay": 0,
        "time_offset": 0
    }
}

Then I got these on console:

FTPSync > Loading config: cache hit (key: ...\ftpsync.settings)
Traceback (most recent call last):
  File ".\sublime_plugin.py", line 185, in on_pre_save
  File ".\sublime_plugin.py", line 154, in run_timed_function
  File ".\sublime_plugin.py", line 184, in <lambda>
  File ".\FTPSync.py", line 1209, in on_pre_save
NameError: global name 'basename' is not defined
Writing file .../ftpsync.settings with encoding UTF-8
FTPSync > Loading config: cache hit (key: ...\ftpsync.settings)
FTPSync > file globally ignored: {ftpsync.settings}
FTPSync > Cancelling SyncCommandUpload: command is closed

Thanks.

debug error?

hello, this just started happening tonight anytime I try to save a file

FTPSync [default] > upload failed: {assets/css/style.css} <Exception: 'debug'>

FTPSync > Exception in user code:

Traceback (most recent call last):
File "./FTPSync.py", line 940, in action
File "./ftpsyncwrapper.py", line 306, in put
File "./ftpsyncwrapper.py", line 659, in __execute
File "./ftpsyncwrapper.py", line 300, in action
File "./ftpsyncwrapper.py", line 761, in __isDebug

KeyError: 'debug'

Also, anytime I open a file the message pops up saying the one on the server is newer and I have

"download_on_open": false

so I think that is bugged too?

Set up proxy

Here on my work we use a proxy connection with login and username.

It's possible setting up this info on the plug-in?

Thanks.

Usernames with - in them break FTPSync

I struggled for quite some time with an FTP site of mine where I have a - in my username. After a lot of debugging in FTPSync I discovered that the re_ftpListParse regular expression was not allowing for the - character in the username.

Current regex as found in ftpsyncwrapper.py:
re_ftpListParse = re.compile("^([d-])[rxws-]{9}\s+\d+\s+[\w\d]+\s+[\w\d]+\s+(\d+)\s+(\w{1,3}\s+\d+\s+(?:\d+:\d+|\d{2,4}))\s+(.*?)$", re.M | re.I | re.U | re.L)

Altered regex which allows for - in the username:
re_ftpListParse = re.compile("^([d-])[rxws-]{9}\s+\d+\s+[\w\d-]+\s+[\w\d]+\s+(\d+)\s+(\w{1,3}\s+\d+\s+(?:\d+:\d+|\d{2,4}))\s+(.*?)$", re.M | re.I | re.U | re.L)

Recommended alternate regex which doesn't CARE what the username and group name are made of (just a set of non-whitespace characters):
re_ftpListParse = re.compile("^([d-])[rxws-]{9}\s+\d+\s+\S+\s+\S+\s+(\d+)\s+(\w{1,3}\s+\d+\s+(?:\d+:\d+|\d{2,4}))\s+(.*?)$", re.M | re.I | re.U | re.L)

FTP Server in another timezone breaks time checking

We need to be able to specify an offset from the client timezone to the ftp server timezone. I work with an FTP server that is an hour ahead of me -- so every time I save it tells me that the server has a newer file available.

Full syncing with server

Feature request: please add the ability to automatically rename and delete remote files and dirs, which have been renamed and deleted at local machine. It's very useful feature!

Can't parse settings file

I'm getting "Failed parsing configuration file ... Expecting property name: line 2 column 2 (char 3)" but I don't see anything wrong.

{
    server: {
        host: "example.net",
        username: "username",
        password: "password",
        path: "example.net/"
    }
}

Failure to properly handle unsaved files as they are closing?

This plugin is blocking other plugins with on_close events from working, such as the sublime-text-2-git plugin. It's blocking the git plugin from being able to use its default commit command which opens a new file named "COMMIT_EDITMSG" and commits on closing the file (without saving). I tried to add it to ftpsync ignore but that does not seem to work.

Console Output:

File ".\FTPSync.py", line 1002, in on_close
File ".\FTPSync.py", line 197, in getConfigFile
File ".\ftpsyncfiles.py", line 106, in getFolders
File ".\ntpath.py", line 170, in split
File ".\ntpath.py", line 125, in splitdrive
TypeError: 'NoneType' object is unsubscriptable
FTPSync [default] > closed

If file and folder are not present on server, recursively mkdir then upload.

What happens

I have the local structure for example:

parent_folder
--child_folder1
----random_child_file
--child_folder2
----random_child_file2
--random_file

and server structure

parent_folder
--child_folder1
----random_child_file
--random_file

When I upload the child_folder_2 to the server, it goes to the first file (random_child_file_2) and tries to upload it, this fails because it is not on the server.
Error (using example names):

FTPSync > Exception in user code:
------------------------------------------------------------
Traceback (most recent call last):
  File "./FTPSync.py", line 796, in action
  File "./ftpsyncwrapper.py", line 257, in put
  File "./ftpsyncwrapper.py", line 443, in __execute
  File "./ftpsyncwrapper.py", line 245, in action
  File "./ftplib.py", line 461, in storbinary
    cmd: A STOR command.
  File "./ftplib.py", line 368, in transfercmd
    # - We want to stop SPAM
  File "./ftplib.py", line 331, in ntransfercmd
    # be in violation of the protocol (which only allows
  File "./ftplib.py", line 244, in sendcmd

  File "./ftplib.py", line 219, in getresp
    raise error_proto, resp
error_perm: 550 /public_html/child_folder2/random_child_file2: No such file or directory

What should happen

FTPSync should recursively make directories on the server and then upload the file

Active Vs Passive

Thank you for your work on the Upload/Download options. I'm really looking forward to using it, but at the moment I have another issue. I am having trouble downloading/uploading and I think it's due to the fact that most of my ftp servers require an active connection rather than passive. Is there a setting I can add to the ftpsync.settings file that would move the connection to active mode? Thanks!

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.