![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Недавно снова возник интерес: а чо там с cloud.mail.ru - открыли они webdav-доступ, или нет? Стандартным приложением пользоваться очень сложно, когда требуется синхронить какие-то разрозненные данные, или, например, часть данных забирать из облака, а часть - залить туда. Да, всё возможно, но неочевидно и как-то неподконтрольно.
Нет, webdav не открыли (и вряд ли когда-нибудь откроют). Зато умельцы покопались в JS и разобрали API (пыщь хабр, например), и на гитхабе нашёлся вполне рабочий код работы с облаком, правда без поддержки копирования из. Я эту поддержку добавил (пыщь гитхаб), но это всё PHP.
А тут сама собой напрашивается идея впендюрить поддержку удалённого хранилища в файловый менеджер. Плагины для Total Commander я, в своё студенческое время, писал на дельфе пачками, пришло время вспомнить. Хотя тут были сомнения: последний раз не под веб я писал уже лет шесть назад; кажется, как раз тогда в Delphi стала появляться поддержка юникода.
На ноуте даже оказалась спираченная в незапамятные времена Delphi XE, и, само собой, код базового шаблона файлсистемного плагина TC. И знаете что? Это как кататься на велосипеде - хрен забудешь. Пальцы помнят горячие клавиши, язык вспоминается тоже моментально. Даже с тем самым юникодом разобрался прям моментально, всё сконпелялось и запустилось.
Дальше, казалось бы, просто: переписывай логику с PHP на паскаль, оформляй классом, вызывай из библиотеки и всё будет пучком. В общем-то, так и получилось, возникла пара затыков только. Первый - работа с сетью, в PHP это встроенные врапперы или всемогущий curl, в дельфи пришлось вспоминать и гуглить про Indy. Второе - это парсинг JSON; то, что в пыхе делается одной строчкой, в дельфе уже нетривиально - ибо статическая типизация. Тем не менее, всё порешалось; забегая вперёд, скажу, что всё работает как хотелось, я на следующей неделе немножко дополирую юзабилити и выложу плагин с исходниками.
Я боялся, что после многолетнего похапе-макакинга Delphi будет вызывать у меня негатив - но нет, ни фига, кодю с удовольствием. Единственное, чего я не понимаю: среда разработки (я спиратил на посмотреть новейшую версию) осталась ну вот ровно на том же уровне, где была лет семь, а то и больше, назад. Ни подсветки, ни настраиваемых хоткеев, редактор вообще бедный. Не выдерживает сравнения не то, что с божественным PHPStorm, даже какому-нибудь Eclipse сильно проигрывает.
Нет, webdav не открыли (и вряд ли когда-нибудь откроют). Зато умельцы покопались в JS и разобрали API (пыщь хабр, например), и на гитхабе нашёлся вполне рабочий код работы с облаком, правда без поддержки копирования из. Я эту поддержку добавил (пыщь гитхаб), но это всё PHP.
А тут сама собой напрашивается идея впендюрить поддержку удалённого хранилища в файловый менеджер. Плагины для Total Commander я, в своё студенческое время, писал на дельфе пачками, пришло время вспомнить. Хотя тут были сомнения: последний раз не под веб я писал уже лет шесть назад; кажется, как раз тогда в Delphi стала появляться поддержка юникода.
На ноуте даже оказалась спираченная в незапамятные времена Delphi XE, и, само собой, код базового шаблона файлсистемного плагина TC. И знаете что? Это как кататься на велосипеде - хрен забудешь. Пальцы помнят горячие клавиши, язык вспоминается тоже моментально. Даже с тем самым юникодом разобрался прям моментально, всё сконпелялось и запустилось.
Дальше, казалось бы, просто: переписывай логику с PHP на паскаль, оформляй классом, вызывай из библиотеки и всё будет пучком. В общем-то, так и получилось, возникла пара затыков только. Первый - работа с сетью, в PHP это встроенные врапперы или всемогущий curl, в дельфи пришлось вспоминать и гуглить про Indy. Второе - это парсинг JSON; то, что в пыхе делается одной строчкой, в дельфе уже нетривиально - ибо статическая типизация. Тем не менее, всё порешалось; забегая вперёд, скажу, что всё работает как хотелось, я на следующей неделе немножко дополирую юзабилити и выложу плагин с исходниками.
Я боялся, что после многолетнего похапе-макакинга Delphi будет вызывать у меня негатив - но нет, ни фига, кодю с удовольствием. Единственное, чего я не понимаю: среда разработки (я спиратил на посмотреть новейшую версию) осталась ну вот ровно на том же уровне, где была лет семь, а то и больше, назад. Ни подсветки, ни настраиваемых хоткеев, редактор вообще бедный. Не выдерживает сравнения не то, что с божественным PHPStorm, даже какому-нибудь Eclipse сильно проигрывает.