Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 9, 2022 12:23:08

logo2019
Зарегистрирован: 2022-08-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

Здравствуйте! Я заказал на фрилансе скрипт который будет собирать контент и фото в социальных сетях (фб, тлг, твиттер) на определенных каналах и публиковать на моем сайте. Вместо этого мне прислали вот этот код. Продавец уверяет что код это может, но я очень сомневаюсь. Помогите разобраться для чего этот код и может ли он выполнять мои задачи. Спасибо.

   
"""Main applicatoin that demonstrates the functionality of
the dynamic plugins and the PluginCollection class
"""
from plugin_collection import PluginCollection
def main():
    """main function that runs the application
    """
    my_plugins = PluginCollection('plugins')
    my_plugins.apply_all_plugins_on_value(5)
if __name__ == '__main__':
    main()
    import inspect
import os
import pkgutil
class Plugin(object):
    """Base class that each plugin must inherit from. within this class
    you must define the methods that all of your plugins must implement
    """
    def __init__(self):
        self.description = 'UNKNOWN'
    def perform_operation(self, argument):
        """The method that we expect all plugins to implement. This is the
        method that our framework will call
        """
        raise NotImplementedError
class PluginCollection(object):
    """Upon creation, this class will read the plugins package for modules
    that contain a class definition that is inheriting from the Plugin class
    """
    def __init__(self, plugin_package):
        """Constructor that initiates the reading of all available plugins
        when an instance of the PluginCollection object is created
        """
        self.plugin_package = plugin_package
        self.reload_plugins()
    def reload_plugins(self):
        """Reset the list of all plugins and initiate the walk over the main
        provided plugin package to load all available plugins
        """
        self.plugins = []
        self.seen_paths = []
        print()
        print(f'Looking for plugins under package {self.plugin_package}')
        self.walk_package(self.plugin_package)
    def apply_all_plugins_on_value(self, argument):
        """Apply all of the plugins on the argument supplied to this function
        """
        print()
        print(f'Applying all plugins on value {argument}:')
        for plugin in self.plugins:
            print(f'    Applying {plugin.description} on value {argument} yields value {plugin.perform_operation(argument)}')
    def walk_package(self, package):
        """Recursively walk the supplied package to retrieve all plugins
        """
        imported_package = __import__(package, fromlist=['blah'])
        for _, pluginname, ispkg in pkgutil.iter_modules(imported_package.__path__, imported_package.__name__ + '.'):
            if not ispkg:
                plugin_module = __import__(pluginname, fromlist=['blah'])
                clsmembers = inspect.getmembers(plugin_module, inspect.isclass)
                for (_, c) in clsmembers:
                    # Only add classes that are a sub class of Plugin, but NOT Plugin itself
                    if issubclass(c, Plugin) & (c is not Plugin):
                        print(f'    Found plugin class: {c.__module__}.{c.__name__}')
                        self.plugins.append(c())
        # Now that we have looked at all the modules in the current package, start looking
        # recursively for additional modules in sub packages
        all_current_paths = []
        if isinstance(imported_package.__path__, str):
            all_current_paths.append(imported_package.__path__)
        else:
            all_current_paths.extend([x for x in imported_package.__path__])
        for pkg_path in all_current_paths:
            if pkg_path not in self.seen_paths:
                self.seen_paths.append(pkg_path)
                # Get all sub directory of the current package path directory
                child_pkgs = [p for p in os.listdir(pkg_path) if os.path.isdir(os.path.join(pkg_path, p))]
                # For each sub directory, apply the walk_package method recursively
                for child_pkg in child_pkgs:
                    self.walk_package(package + '.' + child_pkg)

Отредактировано FishHook (Авг. 9, 2022 14:49:35)

Офлайн

#2 Авг. 9, 2022 14:51:43

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

logo2019
Этот код точно не грабит контент из соцсетей



Офлайн

#3 Авг. 9, 2022 21:23:15

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

Вам не нужна наша помощь и знание языков программирования. Вы у исполнителя получаете инструкцию как получить результат и проверяете удовлетворяет он вас или нет. Нужно просто понимать что вы заказывали.



Офлайн

#4 Авг. 10, 2022 00:52:08

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

logo2019
Я заказал на фрилансе скрипт который будет собирать контент и фото в социальных сетях (фб, тлг, твиттер) на определенных каналах и публиковать на моем сайте.
Ну, этот кусок может быть началом такого скрипта. Работа проделана - оплати.

logo2019
Вместо этого мне прислали вот этот код. Продавец уверяет что код это может, но я очень сомневаюсь.
Это просто кусок. Если ты его оплачиваешь, автор продолжает его дописывать. Это такая защита от заказчиков-кидал, которые стараются получить весь код работающий, а потом сказать “ой, а он неправильный и вообще не подходит, поэтому я платить не буду”.

logo2019
Помогите разобраться для чего этот код и может ли он выполнять мои задачи.
Ну, начало неплохое. Дальше он может его дописать правильно, а может дописать неправильно. Тоже надо получать следующие части и смотреть, куда он движется.

Этот код закладывает такой фундамент, когда есть общая система, которая пользуется одной из выбранных подсистем. Если нужно с одной социальной сетью работать, то для этого будет задействована подсистема для работы именно с этой социальной сетью.



Офлайн

#5 Авг. 10, 2022 12:46:02

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

py.user.next
Ну, начало неплохое.
Очень плохое, это просто конченый говнокод местами несовместимый с питоном, причем совершенно непонятно что именно этот говнокод должен подтвердить/доказать заказчику. Заказчик не разбирается в программировании, ему с вумным видом можно показать любую вообще чушь скопированную из интернета. А представленное - это именно чушь и скорее всего скопированная из интернета
Работа проделана - оплати. Это просто кусок. Если ты его оплачиваешь, автор продолжает его дописывать.
Это что-то совсем новое в трудовых отношениях. Я даже не знаю в каком месте мира такое могло бы иметь место, чтобы платили деньги за кусок текста, который невозможно никуда применить, который ничего не означает для заказчика, не решает его задачу хотя бы частично и даже не демонстрирует способность исполнителя решать такого рода задачи.
py.user.next
Это такая защита от заказчиков-кидал
Я думал защита от кидал, это заключенный договор на оказание услуг

Это какой-то болезненный бред всё



Отредактировано FishHook (Авг. 10, 2022 15:56:16)

Офлайн

#6 Авг. 10, 2022 18:57:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

py.user.next
сообщение удалено так как обсценная лексика запрещена на данном ресурсе, в случае повторения инцидента последует перманентный бан



Офлайн

#7 Авг. 10, 2022 19:18:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

FishHook, в общем, пробуй, а не теоретизируй.



Офлайн

#8 Авг. 10, 2022 20:22:53

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

logo2019
Помогите разобраться для чего этот код
FishHook
Очень плохое, это просто конченый говнокод местами несовместимый с питоном
FishHook прав даже чисто формально. Этот код не может ничего, в частности решить ваши задачи, просто потому что он синтаксически неверен и его невозможно выполнить. Просто попробуйте его запустить…



Офлайн

#9 Авг. 11, 2022 06:46:09

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Что может этот скрипт на Python

Мой код парсит ровно так же как и представленный автором поста но намного более читабельный
Код

 import time
print("Start parsing...")
print("parse.")
time.sleep(1)
print("parse..")
time.sleep(1)
print("parse...")
time.sleep(1)
print("Done")



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version