LiteBuild 0.3.1__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/build_engine.py +4 -4
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/build_workers.py +2 -2
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/lite_build_runner.py +2 -3
- {litebuild-0.3.1 → litebuild-0.3.2/LiteBuild.egg-info}/PKG-INFO +1 -1
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/SOURCES.txt +0 -1
- {litebuild-0.3.1/LiteBuild.egg-info → litebuild-0.3.2}/PKG-INFO +1 -1
- {litebuild-0.3.1 → litebuild-0.3.2}/pyproject.toml +1 -1
- litebuild-0.3.1/LiteBuild/csv_table.py +0 -110
- {litebuild-0.3.1 → litebuild-0.3.2}/LICENSE +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/build_logger.py +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/command_generator.py +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/config_loader.py +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/dependency_graph.py +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/lite_build_controller.py +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/litebuild.py +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/schema.py +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/dependency_links.txt +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/entry_points.txt +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/requires.txt +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/top_level.txt +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/docs/readme.md +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/setup.cfg +0 -0
- {litebuild-0.3.1 → litebuild-0.3.2}/tests/test_build_engine.py +0 -0
|
@@ -11,10 +11,10 @@ from typing import List, Dict, Tuple, NamedTuple, Optional
|
|
|
11
11
|
import networkx as nx
|
|
12
12
|
from YMLEditor.yaml_reader import ConfigLoader
|
|
13
13
|
|
|
14
|
-
from build_logger import BuildLogger, setup_logger, get_logger
|
|
15
|
-
from command_generator import CommandGenerator
|
|
16
|
-
from dependency_graph import DependencyGraph
|
|
17
|
-
from schema import BUILD_SCHEMA, LiteBuildValidator
|
|
14
|
+
from LiteBuild.build_logger import BuildLogger, setup_logger, get_logger
|
|
15
|
+
from LiteBuild.command_generator import CommandGenerator
|
|
16
|
+
from LiteBuild.dependency_graph import DependencyGraph
|
|
17
|
+
from LiteBuild.schema import BUILD_SCHEMA, LiteBuildValidator
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class UpdateCode(IntEnum):
|
|
@@ -8,8 +8,8 @@ from typing import Optional, Dict
|
|
|
8
8
|
|
|
9
9
|
from PySide6.QtCore import QObject, Signal
|
|
10
10
|
|
|
11
|
-
from build_engine import BuildEngine
|
|
12
|
-
from build_logger import BuildLogger, LogLevel
|
|
11
|
+
from LiteBuild.build_engine import BuildEngine
|
|
12
|
+
from LiteBuild.build_logger import BuildLogger, LogLevel
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class BuildWorker(QObject):
|
|
@@ -6,9 +6,8 @@ from PySide6.QtGui import QTextCursor, QCloseEvent
|
|
|
6
6
|
from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QLabel, QLineEdit, QVBoxLayout,
|
|
7
7
|
QPushButton, QMessageBox, QTextEdit, QFileDialog, QHBoxLayout)
|
|
8
8
|
|
|
9
|
-
from build_workers import BuildWorker, BuildGroupWorker
|
|
10
|
-
|
|
11
|
-
from lite_build_controller import LiteBuildController
|
|
9
|
+
from LiteBuild.build_workers import BuildWorker, BuildGroupWorker
|
|
10
|
+
from LiteBuild.lite_build_controller import LiteBuildController
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
class LiteBuildApp(QMainWindow):
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
import sys
|
|
3
|
-
from typing import List, Optional
|
|
4
|
-
|
|
5
|
-
import pandas as pd
|
|
6
|
-
from PySide6.QtCore import Qt
|
|
7
|
-
from PySide6.QtWidgets import (QApplication, QHBoxLayout, QLabel, QLineEdit, QMainWindow,
|
|
8
|
-
QPushButton, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget, )
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class CsvTable(QWidget):
|
|
12
|
-
"""
|
|
13
|
-
QWidget for viewing a CSV data in a table - supports find and sort
|
|
14
|
-
"""
|
|
15
|
-
def __init__(self, parent: Optional[QWidget] = None) -> None:
|
|
16
|
-
super().__init__(parent)
|
|
17
|
-
main_layout = QVBoxLayout(self)
|
|
18
|
-
self.table_widget = QTableWidget()
|
|
19
|
-
self.table_widget.setSortingEnabled(True)
|
|
20
|
-
self.table_widget.setEditTriggers(QTableWidget.EditTrigger.NoEditTriggers)
|
|
21
|
-
main_layout.addWidget(self.table_widget)
|
|
22
|
-
|
|
23
|
-
find_layout = QHBoxLayout()
|
|
24
|
-
self.find_input = QLineEdit()
|
|
25
|
-
self.find_input.textChanged.connect(self._reset_search)
|
|
26
|
-
|
|
27
|
-
self.find_button = QPushButton("Find")
|
|
28
|
-
self.find_button.clicked.connect(self._on_find_clicked)
|
|
29
|
-
|
|
30
|
-
find_layout.addWidget(QLabel("Find:"))
|
|
31
|
-
find_layout.addWidget(self.find_input)
|
|
32
|
-
find_layout.addWidget(self.find_button)
|
|
33
|
-
find_layout.addStretch()
|
|
34
|
-
main_layout.addLayout(find_layout)
|
|
35
|
-
|
|
36
|
-
self._search_results = []
|
|
37
|
-
self._current_search_index = -1
|
|
38
|
-
|
|
39
|
-
def load(self, path: Path, remove_columns: Optional[List[str]] = None):
|
|
40
|
-
"""Load and displays a CSV file. Remove columns if specified """
|
|
41
|
-
try:
|
|
42
|
-
print(f"Loading {path}")
|
|
43
|
-
df = pd.read_csv(path)
|
|
44
|
-
if remove_columns:
|
|
45
|
-
df = df.drop(columns=remove_columns, errors='ignore')
|
|
46
|
-
|
|
47
|
-
self.table_widget.clear()
|
|
48
|
-
self.table_widget.setRowCount(df.shape[0])
|
|
49
|
-
self.table_widget.setColumnCount(df.shape[1])
|
|
50
|
-
self.table_widget.setHorizontalHeaderLabels(df.columns)
|
|
51
|
-
|
|
52
|
-
for row_idx, row_data in enumerate(df.values):
|
|
53
|
-
for col_idx, value in enumerate(row_data):
|
|
54
|
-
if isinstance(value, (int, float)):
|
|
55
|
-
if value > 2147483647: # Max C++ int
|
|
56
|
-
item = QTableWidgetItem(str(value))
|
|
57
|
-
else:
|
|
58
|
-
item = QTableWidgetItem(value)
|
|
59
|
-
item.setData(Qt.ItemDataRole.EditRole, value)
|
|
60
|
-
else:
|
|
61
|
-
txt = "" if pd.isna(value) else str(value)
|
|
62
|
-
item = QTableWidgetItem(txt)
|
|
63
|
-
|
|
64
|
-
self.table_widget.setItem(row_idx, col_idx, item)
|
|
65
|
-
|
|
66
|
-
self.table_widget.resizeColumnsToContents()
|
|
67
|
-
print(" Load complete")
|
|
68
|
-
|
|
69
|
-
except Exception as e:
|
|
70
|
-
print(f"err {e}")
|
|
71
|
-
self.table_widget.setItem(0, 0, QTableWidgetItem(f"Error loading file"))
|
|
72
|
-
raise(ValueError, "Error: File not found at '{path}'")
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
def _reset_search(self):
|
|
76
|
-
"""
|
|
77
|
-
Resets the search state. Called whenever the find text is changed.
|
|
78
|
-
"""
|
|
79
|
-
self.table_widget.clearSelection()
|
|
80
|
-
self._search_results = []
|
|
81
|
-
self._current_search_index = -1
|
|
82
|
-
|
|
83
|
-
def _on_find_clicked(self):
|
|
84
|
-
"""
|
|
85
|
-
Handles a click on the "Find" button.
|
|
86
|
-
- If it's a new search (or text has changed), it finds all occurrences.
|
|
87
|
-
- If it's a subsequent search, it finds the next occurrence.
|
|
88
|
-
"""
|
|
89
|
-
search_text = self.find_input.text()
|
|
90
|
-
|
|
91
|
-
# If the index is -1, it means this is a new search.
|
|
92
|
-
if self._current_search_index == -1:
|
|
93
|
-
self._search_results = self.table_widget.findItems(
|
|
94
|
-
search_text, Qt.MatchFlag.MatchContains
|
|
95
|
-
)
|
|
96
|
-
if not self._search_results:
|
|
97
|
-
return
|
|
98
|
-
|
|
99
|
-
# If we have results, move to the next one.
|
|
100
|
-
if self._search_results:
|
|
101
|
-
self._current_search_index = (self._current_search_index + 1) % len(self._search_results)
|
|
102
|
-
self._highlight_current_search_result()
|
|
103
|
-
|
|
104
|
-
def _highlight_current_search_result(self):
|
|
105
|
-
"""Scrolls to and selects the current search item."""
|
|
106
|
-
if not self._search_results:
|
|
107
|
-
return
|
|
108
|
-
item = self._search_results[self._current_search_index]
|
|
109
|
-
self.table_widget.setCurrentItem(item)
|
|
110
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|