__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.228: ~ $
# -*- coding: utf-8 -*-

import tkinter as tk
import tkinter.font as tk_font

from thonny import get_workbench, ui_utils
from thonny.common import ValueInfo
from thonny.languages import tr
from thonny.ui_utils import TreeFrame

MAX_REPR_LENGTH_IN_GRID = 100


def format_object_id(object_id):
    # this format aligns with how Python shows memory addresses
    if object_id is None:
        return None
    else:
        return "0x" + hex(object_id)[2:]  # .rjust(8,'0')


def parse_object_id(object_id_repr):
    return int(object_id_repr, base=16)


class MemoryFrame(TreeFrame):
    def __init__(self, master, columns, show_statusbar=False):
        TreeFrame.__init__(self, master, columns, show_statusbar=show_statusbar)

        font = tk_font.nametofont("TkDefaultFont").copy()
        font.configure(underline=True)
        self.tree.tag_configure("hovered", font=font)

    def stop_debugging(self):
        self._clear_tree()

    def show_selected_object_info(self):
        object_id = self.get_object_id()
        if object_id is not None:
            get_workbench().event_generate("ObjectSelect", object_id=object_id)

    def get_object_id(self):
        iid = self.tree.focus()
        if iid != "":
            # NB! Assuming id is second column!
            id_str = self.tree.item(iid)["values"][1]
            if id_str in ["", None, "None"]:
                return None

            return parse_object_id(id_str)

        return None


class VariablesFrame(MemoryFrame):
    def __init__(self, master):
        MemoryFrame.__init__(self, master, ("name", "id", "value"))

        self.tree.column("name", width=120, anchor=tk.W, stretch=False)
        self.tree.column("id", width=450, anchor=tk.W, stretch=True)
        self.tree.column("value", width=450, anchor=tk.W, stretch=True)

        self.tree.heading("name", text=tr("Name"), anchor=tk.W)
        self.tree.heading("id", text=tr("Value ID"), anchor=tk.W)
        self.tree.heading("value", text=tr("Value"), anchor=tk.W)

        get_workbench().bind("ShowView", self._update_memory_model, True)
        get_workbench().bind("HideView", self._update_memory_model, True)
        self._update_memory_model()
        self.tree.tag_configure(
            "group_title",
            font="BoldTkDefaultFont",
            background=ui_utils.lookup_style_option(".", "background"),
        )

    def destroy(self):
        MemoryFrame.destroy(self)
        get_workbench().unbind("ShowView", self._update_memory_model)
        get_workbench().unbind("HideView", self._update_memory_model)

    def _update_memory_model(self, event=None):
        if get_workbench().in_heap_mode():
            self.tree.configure(displaycolumns=("name", "id"))
            # self.tree.columnconfigure(1, weight=1, width=400)
            # self.tree.columnconfigure(2, weight=0)
        else:
            self.tree.configure(displaycolumns=("name", "value"))
            # self.tree.columnconfigure(1, weight=0)
            # self.tree.columnconfigure(2, weight=1, width=400)

    def update_variables(self, all_variables):
        self._clear_tree()

        if not all_variables:
            return

        if isinstance(all_variables, list):
            groups = all_variables
        else:
            groups = [("", all_variables)]

        for group_title, variables in groups:
            if group_title:
                node_id = self.tree.insert("", "end", tags=("group_title",))
                self.tree.set(node_id, "name", group_title)

            for name in sorted(variables.keys()):
                if not name.startswith("__"):
                    node_id = self.tree.insert("", "end", tags="item")
                    self.tree.set(node_id, "name", name)
                    if isinstance(variables[name], ValueInfo):
                        description = variables[name].repr
                        id_str = variables[name].id
                    else:
                        description = variables[name]
                        id_str = None

                    self.tree.set(node_id, "id", format_object_id(id_str))
                    self.tree.set(node_id, "value", description)

    def on_select(self, event):
        self.show_selected_object_info()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
dbus Folder 0755
locale Folder 0755
plugins Folder 0755
res Folder 0755
test Folder 0755
vendored_libs Folder 0755
VERSION File 5 B 0644
__init__.py File 16.76 KB 0644
__main__.py File 78 B 0644
assistance.py File 34.12 KB 0644
ast_utils.py File 6.06 KB 0644
backend.py File 32.82 KB 0644
base_file_browser.py File 52.3 KB 0644
codeview.py File 21.33 KB 0644
common.py File 23.16 KB 0644
config.py File 6.27 KB 0644
config_ui.py File 5.57 KB 0644
defaults.ini File 335 B 0644
editor_helpers.py File 12.44 KB 0644
editors.py File 41.94 KB 0644
export.py File 1.52 KB 0644
first_run.py File 3.43 KB 0644
gridtable.py File 9.19 KB 0644
jedi_utils.py File 9.8 KB 0644
languages.py File 2.52 KB 0644
memory.py File 4.14 KB 0644
misc_utils.py File 19.55 KB 0644
roughparse.py File 32.96 KB 0644
rst_utils.py File 17.09 KB 0644
running.py File 56.77 KB 0644
shell.py File 78.13 KB 0644
terminal.py File 7.86 KB 0644
tktextext.py File 44.26 KB 0644
token_utils.py File 2.21 KB 0644
udisks.py File 4.8 KB 0644
ui_utils.py File 81.98 KB 0644
workbench.py File 96.77 KB 0644
workdlg.py File 16.27 KB 0644
Filemanager