ekbpy-contact-book's People
Forkers
zhnickekbpy-contact-book's Issues
Добавить валидацию контактов в сторидже
В contact_storage.py нужно сделать валидатор хранилища. Помимо прочего нужно обязательно убедится, что смердженные контакты ссылаются друг на друга симметрично.
Функция для вычисления расстояния Левенштейна
Реализовать в distance.py функцию def levenshtein(s1, s2), которая вычисляет расстояние Левенштейна для двух заданных строк.
Система плагинов импорта контактов
Нужно реализовать систему динамической подгрузки модулей modules/import*.py.
При добавлении нового модуля он должен автоматически подключаться, а также должна создаваться новая кнопка в gui для данного импортера.
Обработчик кнопки facebook
В gui.py реализовать facebook_button_presed(self).
Функция преобразования импортированных данных во внутреннее представление
Реализовать в provider.py функцию contactsListFromProvider(provider), которая зовет у провайдера метод getFriends() и, используя статическую переменную contactMapping из класса провайдера, делает из списка словарей список контактов.
Добавить импорт контактов из Twitter
Переработать хранилище контактов
Сейчас хранилище устроено уныло - оно просто сериализуется в файл. У этого много минусов.
Хочется, чтобы оно хранилось как-нибудь более лушче :) Чтобы удобно было искать по контактам. Даже если их много и очень много.
Функция выделения имени и фамилии из строки
Реализовать в modules/names.py функцию splitString(string), которая используется для выделения имени и фамилии из данной строки. Отбрасываются лишние пробелы, берутся первое и последнее слова в строке. На выходе tuple из двух строк: имени и фамилии.
Класс для импорта контактов из MoiKrug
Реализовать в modules/importMoikrug.py класс MoiKrug(Parser) для импорта контактов из MoiKrug.
Обработчик кнопки moikrug
В gui.py реализовать moikrug_button_presed(self).
Добавить поиск контактов
Нужно добавить строку поиска контактов в gui, научиться искать контакты и выводить результаты поиска.
Функции выделения телефона из строки и его валидации
Реализовать в modules/phone.py фунцкии validate(phoneString), которая проверяет, является ли переданная строка телефоном в формате +12345678901, и возвращает True, если является, False иначе, и makePretty(phoneString), которая извлекает из произвольной строки телефон и возвращает его в формате, удовлетворяющем validate.
В gui кнопки импорта не возвращаются в исходное положение после нажатия
Класс для импорта контактов из Vkontakte
Реализовать в modules/importVkontakte.py класс VKontakte(Parser) для импорта контактов из VKontakte.
Функция траснлитерации русского текста
Реализовать в translit.py функцию def fromRussian(string), которая транслитерирует символы русских букв. Остальные символы оставляет неизмененными.
Обработчик кнопки thunderbirdcsv
В gui.py реализовать thunderbirdcsv_button_presed(self).
Функция разбора csv файла
Реализовать в modules/csvparser.py функцию CSVParse(fileHandle), которая разбирает csv файл по переданному открытому хендлу. Возвращает список словарей. Ключи в словарях - заголовки csv файла, значения - соответствующие заголовкам данные.
Добавить удаление контактов
В contact_storage.py не реализовано удаление контактов.
Класс для импорта google.csv
Реализовать в modules/importGoogle.py класс Google(Parser) для импорта контактов из локального csv файла, полученного через экспорт контактов gmail.
Сохранение контактов в хранилище
Список контактов существует только в памяти. Необходимо добавить сохранение контактов и их открытие после перезапуска программы.
Фунция определения, нужно ли объединять два контакта в один
Реализовать в similarity.py функцию def areMergeable(contact1, contact2), которая определяет, нужно ли объединить два контакта. Возвращает 0, если объединять нельзя. Возвращает 1, если нужно предложить объединение пользователю. Возвращает 2, если можно объединить в автоматическом режиме.
Класс для импорта thunderbird.csv
Реализовать в modules/importThunderbird.py класс Thunderbird(Parser) для импорта контактов из локального csv файла, полученного через экспорт первого круга из moikrug в формате thunderbird.
Класс для импорта контактов из Facebook
Реализовать в modules/importFacebook.py класс Facebook(Parser) для импорта контактов из Facebook.
Добавить импорт контактов из Twitter
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.