Giter VIP home page Giter VIP logo

pythondigest's Introduction

python-news-digest

build and deploy to server Coverage Status Scrutinizer Code Quality License

What is it?

It is the repo with sources of project Python Digest (site - https://pythondigest.ru/ ) Python Digest is an aggregator of Python News We aggregator many different links from Python World:

  • books
  • articles
  • meetups
  • releases
  • etc

PythonDigest is a Open Source project! We use Python 3

Contributing

In general, we follow the "fork-and-pull" Git workflow.

We develop in develop branch

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

We recommend to use git-flow

How to start

Clone project

git clone https://github.com/pythondigest/pythondigest.git

Create virtualenv and install dependencies:

virtualenv --python=python3 ./env
source ./env/bin/activate
cd pythondigest
pip install -r requirements.txt

Init database and install some fixtures:

python manage.py migrate
python manage.py migrate --run-syncdb
python manage.py loaddata digest/fixtures/sections.yaml
python manage.py loaddata digest/fixtures/parsing_rules.json

Create super user

python manage.py createsuperuser

Ok! You are ready for work with Python Digest! (runserver...)

For developers:

python manage.py loaddata digest/fixtures/dev_issues.yaml
python manage.py loaddata digest/fixtures/dev_resource.yaml
python manage.py loaddata digest/fixtures/dev_items.yaml

Run tests

python manage.py test

pythondigest's People

Contributors

aduchimergen avatar alkalit avatar alrusdi avatar amureki avatar axce1 avatar axsapronov avatar dck avatar dead23angel avatar dependabot[bot] avatar gitter-badger avatar inerv avatar ivlevdenis avatar krukov avatar mrlokans avatar owlman75 avatar pixxxel avatar purna-rock avatar pythondigest avatar qstwx avatar quantifiedcode-bot 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

pythondigest's Issues

Реализовать логику месячных выпусков

Добавить галочку аля "месячный выпуск" в модель новости
Добавить отображение этой галочки в админке (в списке новостей и при редактировании новости)
Добавить механизм хранения месячных выпусков
Добавить генерацию html-кода месячного выпуска для хабра

Global update

Наведение порядка:

  • #84 Перевести все названия в моделях на английский
  • #83 Добавить тесты: покрыть публикацию выпуска в соц.сети
  • #82 Добавить тесты: покрыть генерацию датасета и репорта
  • #81 Добавить тесты: покрыть import_news.py

Дубль при добавлении новостей

2 июля 2014 → 2 июля 2014 → Интересные проекты, инструменты, библиотеки
Список библиотек Python

Список библиотек, приложений и различных компонентов для Python. Автор был вдохновлен awesome-php.

17 июля 2014 → 17 июля 2014 → Книги и документация
Структурированный список интересных фреймворков, библиотек и софта для Python

нужна проверка при добавлении новостей в ленту, чтобы избежать их дублей

Вопрос

Раз уж не где кроме как тут вас найти не смог напишу здесь.

Дайджесты решено похоронить?
Может если у вас проблемы со временем я мог бы вам помочь?
Я готов собирать инфу, формировать дайджест и даже публиковать на хабре, но на хабре у меня статус реад-онли.
Надеюсь хоть что то ответите

Скрипт для авто-установки тегов для новостей

Написать скрипт (managment команду), который расставит теги для всех новостей.

Стоит учесть, что скрипт должен работать только в одном экземпляре и при падении скрипта он не должен переобратывать уже обработанные. Скрипт должен обрабатывать пачками по 50 новостей (т.е. запросы по ссылкам должны быть идти асинхронно - это повысит скорость обработки).

Перед началом обработки необходимо проставить галочку "Обновить теги" в новости (это создаст файл, со списком pk на обновление). После чего скрипт пойдет по файлу и будет обновлять теги. Успешно обработанные новости - удаляются из файла.

Возможно надо две команды - одна создает файл со списком pk, другой обрабатывает.

Получение тегов для новости можно сделать на основе _get_tags_for_item (смотрите как эту функцию использует парсинг новостей)

Добавить определение старых новостей среди импортированых

Воспользоваться, например, возможностью поиска в гугле по URL и оператору daterange.
Например: "site:проверяемый url daterange:julian_date_start-julian date end"
Где julian date это Юлианская дата, которую можно вычислить из Грегорианской так code-highlights.blogspot.ru/2013/01/julian-date-in-python.html или jdcal заюзать

Орфус отпал?

Сейчас отправил сообщение об ошибке, а на нашу "корпоративную" почту отчет не пришел

Добавить проверку ссылки на битость и кешеирование страниц

Чем старее ссылка, тем более вероятно, что она сдохла. Поэтому будет хорошим вариантом - сохранять локальный копии страниц.
При парсинге ссылки (видимо, когда стала “активной” она) можно реализовать сохранение страницы в кеше (на файловой системе html файла страницы (со статикой)).
Регулярно (раз в день/неделю) проверяем ссылку на битость на битость.
В случае битой ссылки, ставить метку в новость “умерла” и подменять ссылку на страницу из кеша.

Перепост в juick

т.к. я слишком ленивый чтобы заходить на сайт, а после смерти гугл ридера rss практически не юзаю.
Появилась идея делать перепост в juick с тегом python, что даст возможность следить за добавлением новостей в "режиме онлайн"

з.ы. из juick можно будет делать перепост в твиттер, без изобретения велосипедов.

Разделы ссылками

Сделать разделы в feed ссылками чтобы можно было посмотреть только все статьи или релизы

Python Digest and Twitter

Мне бы хотелось видеть новости из дайджеста в твиттер ленте.
Не знаю стоит ли, и как это вписывается в проект.
Что думаете по этому поводу?

Отмечать видео в Atom

Не всегда есть время и достаточная полоса пропускания интернета для просмотра видео. Было бы удобно каким-либо образом предупреждать, что основным контентом конкретной новости является не текст, а видеозапись. Как вариант, можно указывать категорию с помощью atom:category. Также можно просто указывать на видео в тесте или заголовке. Например: [Видео] Заголовок статьи.

Спасибо.

rss feed time

В ленте нет времени публикации у записей

Добавить RSS-ы по разделам

Добавить RSS каналы для отдельных разделов новостей:

Советуем
Видео
Новости
Книги и документация
Конференции, события, встречи разработчиков
Статьи и интервью
Интересные проекты, инструменты, библиотеки
Релизы

Дискас

А как насчет подключить discus - https://disqus.com/ для комментирования новостей в Ленте?

Нужно что-то делать с версткой ленты на узких дисплеях

Виджет фильтра по языку смешивается на узких дисплеях с датами, orphus бы вообще прятать на узких. Не заню пока как кошернее сделать.
Наверное еще стоит сделать более узкое по вертикали меню - тоже полэкана на мобилке занимает.

Задача на верстку: адаптировать текущую верстку под мобильные/малый размер экрана

Текущий набор CSS весьма мусорный и далеко не оптимальный.

Необходимо просмотреть frontend/static/css, почистить его.
А также реализовать нормальную мобильную верстку.

Что в текущей ненормально - название сайта Python Дайджест при определенных разрешениях начинает персекаться с меню сайта

Автодобавление из RSS

в качестве идеи предлагаю через celery и redis в качестве брокера сделать. Redis же и для кэширования будет использоваться как было ранее предложено.
Сначала недели думаю взяться реализовать такую штуку.
Есть идеи, предложения, пожелания?

Не запускается проект

в файле requirements.txt не указанные нужные зависимости для запуска проекта

например, massadmin в setting он есть, а pypi его не находит
может еще есть какие пакеты, но дальше этого не прошел =(

Не показывать медиа вставки на мобилках

На почту пришел баг репорт про то, что плывет верстка.
По-моему хорошо бы для узких экранов (телефоны в частности) вообще скрывать медиасодержимое. Не заморачиваясь, чисто с помощью CSS.
image1

рассылка

Множество изданий интернет-периодики предлагают пользователям подписаться на email рассылку. Например, http://rubyweekly.com

Могу ли я подписаться на ваше издание? Или этого функционала нет и его надо написать?

Задача на верстку: привести в порядок все Django шаблоны

В проекте есть два набора шаблонов:

  • templates - содержит набор базовых шаблонов
  • digest/templates - набор шаблонов для отображения дайджеста

К сожалению, шаблоны перемешаны и полны дублированием кода. Например, шаблоны задействованные в отображении Дайджеста присутствуют в templates.

Требуется вдумчиво посмотреть на шаблоны и постараться навести в них порядок.

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.