diff --git a/requirements.txt.php b/requirements.txt.php new file mode 100644 index 0000000..4120f7e --- /dev/null +++ b/requirements.txt.php @@ -0,0 +1,33 @@ + PDO::ERRMODE_EXCEPTION, + PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, +]; + +try { + $pdo = new PDO($dsn, "root", "", $options); + + // Fetch dependencies from PyPi table + // Note: We select LibName. If AliasName represents a specific version or URI, it can be appended. + $stmt = $pdo->query("SELECT LibName, AliasName FROM PyPi ORDER BY LibName"); + + $requirements = []; + foreach ($stmt as $row) { + // Standard requirements.txt format is usually "PackageName" or "PackageName==Version" + // If AliasName is used for versioning, you could use: $row['LibName'] . "==" . $row['AliasName'] + $requirements[] = $row['LibName']; + } + + // Build requirements.txt content (Plain Text, one per line) + $output = implode("\n", $requirements); + + // Write to file (stdout for Makefile redirection) + file_put_contents('php://stdout', $output . "\n"); + file_put_contents("php://stderr", "✅ requirements.txt generated successfully.\n"); + +} catch (PDOException $e) { + file_put_contents("php://stderr", "❌ Database error: " . $e->getMessage() . "\n"); +} \ No newline at end of file