Forrest99 commited on
Commit
ea99bc8
·
verified ·
1 Parent(s): e49c70f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +331 -299
app.py CHANGED
@@ -14,305 +14,337 @@ app.logger = logging.getLogger("CodeSearchAPI")
14
  # 预定义代码片段
15
  CODE_SNIPPETS = [
16
 
17
- "System.out.println(\"Hello, World!\");",
18
- "public static int sum(int a, int b) { return a + b; }",
19
- "import java.util.Random; public static int generateRandomNumber() { return new Random().nextInt(); }",
20
- "public static boolean isEven(int number) { return number % 2 == 0; }",
21
- "public static int stringLength(String str) { return str.length(); }",
22
- "import java.time.LocalDate; public static String getCurrentDate() { return LocalDate.now().toString(); }",
23
- "import java.io.File; public static boolean fileExists(String path) { return new File(path).exists(); }",
24
- "import java.nio.file.Files; import java.nio.file.Paths; public static String readFileContent(String path) throws Exception { return new String(Files.readAllBytes(Paths.get(path))); }",
25
- "import java.nio.file.Files; import java.nio.file.Paths; public static void writeToFile(String path, String content) throws Exception { Files.write(Paths.get(path), content.getBytes()); }",
26
- "import java.time.LocalTime; public static String getCurrentTime() { return LocalTime.now().toString(); }",
27
- "public static String toUpperCase(String str) { return str.toUpperCase(); }",
28
- "public static String toLowerCase(String str) { return str.toLowerCase(); }",
29
- "public static String reverseString(String str) { return new StringBuilder(str).reverse().toString(); }",
30
- "public static int listSize(List<?> list) { return list.size(); }",
31
- "public static int maxInList(List<Integer> list) { return Collections.max(list); }",
32
- "public static int minInList(List<Integer> list) { return Collections.min(list); }",
33
- "public static List<Integer> sortList(List<Integer> list) { Collections.sort(list); return list; }",
34
- "public static List<?> mergeLists(List<?> list1, List<?> list2) { List<Object> merged = new ArrayList<>(list1); merged.addAll(list2); return merged; }",
35
- "public static List<?> removeElement(List<?> list, Object element) { list.remove(element); return list; }",
36
- "public static boolean isListEmpty(List<?> list) { return list.isEmpty(); }",
37
- "public static int countCharInString(String str, char ch) { return (int) str.chars().filter(c -> c == ch).count(); }",
38
- "public static boolean containsSubstring(String str, String sub) { return str.contains(sub); }",
39
- "public static String intToString(int number) { return Integer.toString(number); }",
40
- "public static int stringToInt(String str) { return Integer.parseInt(str); }",
41
- "public static boolean isNumeric(String str) { return str.matches(\"-?\\\\d+(\\\\.\\\\d+)?\"); }",
42
- "public static int indexOfElement(List<?> list, Object element) { return list.indexOf(element); }",
43
- "public static void clearList(List<?> list) { list.clear(); }",
44
- "public static List<?> reverseList(List<?> list) { Collections.reverse(list); return list; }",
45
- "public static List<?> removeDuplicates(List<?> list) { return new ArrayList<>(new LinkedHashSet<>(list)); }",
46
- "public static boolean isInList(List<?> list, Object element) { return list.contains(element); }",
47
- "public static Map<?, ?> createDictionary() { return new HashMap<>(); }",
48
- "public static void addToDictionary(Map<?, ?> map, Object key, Object value) { ((Map<Object, Object>) map).put(key, value); }",
49
- "public static void removeFromDictionary(Map<?, ?> map, Object key) { map.remove(key); }",
50
- "public static Set<?> getDictionaryKeys(Map<?, ?> map) { return map.keySet(); }",
51
- "public static Collection<?> getDictionaryValues(Map<?, ?> map) { return map.values(); }",
52
- "public static Map<?, ?> mergeDictionaries(Map<?, ?> map1, Map<?, ?> map2) { Map<Object, Object> merged = new HashMap<>(map1); merged.putAll(map2); return merged; }",
53
- "public static boolean isDictionaryEmpty(Map<?, ?> map) { return map.isEmpty(); }",
54
- "public static Object getDictionaryValue(Map<?, ?> map, Object key) { return map.get(key); }",
55
- "public static boolean keyExistsInDictionary(Map<?, ?> map, Object key) { return map.containsKey(key); }",
56
- "public static void clearDictionary(Map<?, ?> map) { map.clear(); }",
57
- "public static int countFileLines(String path) throws Exception { return (int) Files.lines(Paths.get(path)).count(); }",
58
- "import java.nio.file.Files; import java.nio.file.Paths; public static void writeListToFile(String path, List<?> list) throws Exception { Files.write(Paths.get(path), list.toString().getBytes()); }",
59
- "import java.nio.file.Files; import java.nio.file.Paths; public static List<?> readListFromFile(String path) throws Exception { return Arrays.asList(new String(Files.readAllBytes(Paths.get(path))).split(\",\")); }",
60
- "public static int countWordsInFile(String path) throws Exception { return (int) Files.lines(Paths.get(path)).flatMap(line -> Arrays.stream(line.split(\"\\\\s+\"))).count(); }",
61
- "public static boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); }",
62
- "import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public static String formatDateTime(LocalDateTime dateTime, String pattern) { return dateTime.format(DateTimeFormatter.ofPattern(pattern)); }",
63
- "import java.time.LocalDate; import java.time.temporal.ChronoUnit; public static long daysBetweenDates(LocalDate date1, LocalDate date2) { return ChronoUnit.DAYS.between(date1, date2); }",
64
- "import java.nio.file.Paths; public static String getCurrentWorkingDirectory() { return Paths.get(\"\").toAbsolutePath().toString(); }",
65
- "import java.io.File; public static List<String> listFilesInDirectory(String path) { return Arrays.stream(new File(path).listFiles()).map(File::getName).collect(Collectors.toList()); }",
66
- "import java.nio.file.Files; import java.nio.file.Paths; public static void createDirectory(String path) throws Exception { Files.createDirectory(Paths.get(path)); }",
67
- "import java.nio.file.Files; import java.nio.file.Paths; public static void deleteDirectory(String path) throws Exception { Files.delete(Paths.get(path)); }",
68
- "import java.nio.file.Files; import java.nio.file.Paths; public static boolean isFile(String path) { return Files.isRegularFile(Paths.get(path)); }",
69
- "import java.nio.file.Files; import java.nio.file.Paths; public static boolean isDirectory(String path) { return Files.isDirectory(Paths.get(path)); }",
70
- "import java.nio.file.Files; import java.nio.file.Paths; public static long getFileSize(String path) throws Exception { return Files.size(Paths.get(path)); }",
71
- "import java.nio.file.Files; import java.nio.file.Paths; public static void renameFile(String oldPath, String newPath) throws Exception { Files.move(Paths.get(oldPath), Paths.get(newPath)); }",
72
- "import java.nio.file.Files; import java.nio.file.Paths; public static void copyFile(String source, String destination) throws Exception { Files.copy(Paths.get(source), Paths.get(destination)); }",
73
- "import java.nio.file.Files; import java.nio.file.Paths; public static void moveFile(String source, String destination) throws Exception { Files.move(Paths.get(source), Paths.get(destination)); }",
74
- "import java.nio.file.Files; import java.nio.file.Paths; public static void deleteFile(String path) throws Exception { Files.delete(Paths.get(path)); }",
75
- "public static String getEnvironmentVariable(String name) { return System.getenv(name); }",
76
- "public static void setEnvironmentVariable(String name, String value) { System.setProperty(name, value); }",
77
- "import java.awt.Desktop; import java.net.URI; public static void openWebLink(String url) throws Exception { Desktop.getDesktop().browse(new URI(url)); }",
78
- "import java.net.HttpURLConnection; import java.net.URL; public static String sendGetRequest(String url) throws Exception { HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection(); con.setRequestMethod(\"GET\"); return new String(con.getInputStream().readAllBytes()); }",
79
- "import com.google.gson.JsonObject; import com.google.gson.JsonParser; public static JsonObject parseJson(String json) { return JsonParser.parseString(json).getAsJsonObject(); }",
80
- "import com.google.gson.Gson; import java.nio.file.Files; import java.nio.file.Paths; public static void writeJsonToFile(String path, JsonObject json) throws Exception { Files.write(Paths.get(path), new Gson().toJson(json).getBytes()); }",
81
- "import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.nio.file.Files; import java.nio.file.Paths; public static JsonObject readJsonFromFile(String path) throws Exception { return JsonParser.parseString(new String(Files.readAllBytes(Paths.get(path)))).getAsJsonObject(); }",
82
- "public static String listToString(List<?> list) { return list.toString(); }",
83
- "public static List<String> stringToList(String str) { return Arrays.asList(str.split(\",\")); }",
84
- "public static String joinWithComma(List<?> list) { return String.join(\",\", list.stream().map(Object::toString).collect(Collectors.toList())); }",
85
- "public static String joinWithNewline(List<?> list) { return String.join(\"\\n\", list.stream().map(Object::toString).collect(Collectors.toList())); }",
86
- "public static List<String> splitBySpace(String str) { return Arrays.asList(str.split(\"\\\\s+\")); }",
87
- "public static List<String> splitByDelimiter(String str, String delimiter) { return Arrays.asList(str.split(delimiter)); }",
88
- "public static List<String> splitIntoCharacters(String str) { return Arrays.asList(str.split(\"\")); }",
89
- "public static String replaceInString(String str, String target, String replacement) { return str.replace(target, replacement); }",
90
- "public static String removeSpaces(String str) { return str.replaceAll(\"\\\\s\", \"\"); }",
91
- "public static String removePunctuation(String str) { return str.replaceAll(\"[^a-zA-Z0-9]\", \"\"); }",
92
- "public static boolean isStringEmpty(String str) { return str.isEmpty(); }",
93
- "public static boolean isPalindrome(String str) { return str.equals(new StringBuilder(str).reverse().toString()); }",
94
- "import java.nio.file.Files; import java.nio.file.Paths; public static void writeTextToCsv(String path, List<String> lines) throws Exception { Files.write(Paths.get(path), lines); }",
95
- "import java.nio.file.Files; import java.nio.file.Paths; public static List<String> readCsvFile(String path) throws Exception { return Files.readAllLines(Paths.get(path)); }",
96
- "import java.nio.file.Files; import java.nio.file.Paths; public static int countCsvLines(String path) throws Exception { return (int) Files.lines(Paths.get(path)).count(); }",
97
- "public static List<?> shuffleList(List<?> list) { Collections.shuffle(list); return list; }",
98
- "public static Object pickRandomElement(List<?> list) { return list.get(new Random().nextInt(list.size())); }",
99
- "public static List<?> pickRandomElements(List<?> list, int count) { Collections.shuffle(list); return list.subList(0, count); }",
100
- "public static int rollDice() { return new Random().nextInt(6) + 1; }",
101
- "public static String flipCoin() { return new Random().nextBoolean() ? \"Heads\" : \"Tails\"; }",
102
- "import java.util.Random; public static String generateRandomPassword(int length) { String chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"; StringBuilder sb = new StringBuilder(); for (int i = 0; i < length; i++) { sb.append(chars.charAt(new Random().nextInt(chars.length()))); } return sb.toString(); }",
103
- "import java.util.Random; public static String generateRandomColor() { Random rand = new Random(); return String.format(\"#%06x\", rand.nextInt(0xFFFFFF)); }",
104
- "import java.util.UUID; public static String generateUniqueId() { return UUID.randomUUID().toString(); }",
105
- "public class MyClass {}",
106
- "MyClass myObject = new MyClass();",
107
- "public class MyClass { public void myMethod() {} }",
108
- "public class MyClass { public String myAttribute; }",
109
- "public class ChildClass extends ParentClass {}",
110
- "public class ChildClass extends ParentClass { @Override public void myMethod() {} }",
111
- "public class MyClass { public static void myClassMethod() {} }",
112
- "public class MyClass { public static void myStaticMethod() {} }",
113
- "public static boolean isInstanceOf(Object obj, Class<?> clazz) { return clazz.isInstance(obj); }",
114
- "public static Object getAttribute(Object obj, String attribute) throws Exception { return obj.getClass().getDeclaredField(attribute).get(obj); }",
115
- "public static void setAttribute(Object obj, String attribute, Object value) throws Exception { obj.getClass().getDeclaredField(attribute).set(obj, value); }",
116
- "public static void deleteAttribute(Object obj, String attribute) throws Exception { obj.getClass().getDeclaredField(attribute).set(obj, null); }",
117
- "try { int result = 10 / 0; } catch (Exception e) { System.out.println(e.getMessage()); }",
118
- "throw new Exception('Custom exception');",
119
- "String message = e.getMessage();",
120
- "Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e);",
121
- "long startTime = System.currentTimeMillis();",
122
- "long endTime = System.currentTimeMillis(); long duration = endTime - startTime;",
123
- "for (int i = 0; i <= 100; i++) { System.out.print('\\rProgress: ' + i + '%'); }",
124
- "Thread.sleep(1000);",
125
- "Runnable r = () -> System.out.println('Lambda expression');",
126
- "List<Integer> squared = Arrays.asList(1, 2, 3).stream().map(x -> x * x).collect(Collectors.toList());",
127
- "List<Integer> evenNumbers = Arrays.asList(1, 2, 3, 4).stream().filter(x -> x % 2 == 0).collect(Collectors.toList());",
128
- "int sum = Arrays.asList(1, 2, 3).stream().reduce(0, (a, b) -> a + b);",
129
- "List<Integer> squares = Arrays.asList(1, 2, 3).stream().map(x -> x * x).collect(Collectors.toList());",
130
- "Map<String, Integer> map = Arrays.asList('a', 'b').stream().collect(Collectors.toMap(Function.identity(), String::length));",
131
- "Set<Integer> set = Arrays.asList(1, 2, 3).stream().collect(Collectors.toSet());",
132
- "Set<Integer> intersection = new HashSet<>(set1); intersection.retainAll(set2);",
133
- "Set<Integer> union = new HashSet<>(set1); union.addAll(set2);",
134
- "Set<Integer> difference = new HashSet<>(set1); difference.removeAll(set2);",
135
- "List<String> listWithoutNull = list.stream().filter(Objects::nonNull).collect(Collectors.toList());",
136
- "try (BufferedReader br = new BufferedReader(new FileReader('file.txt'))) { } catch (IOException e) { }",
137
- "if (variable instanceof Integer) { }",
138
- "boolean bool = Boolean.parseBoolean('true');",
139
- "if (condition) { }",
140
- "while (condition) { }",
141
- "for (String item : list) { }",
142
- "for (Map.Entry<String, Integer> entry : map.entrySet()) { }",
143
- "for (char c : 'string'.toCharArray()) { }",
144
- "break;",
145
- "continue;",
146
- "void myFunction() { }",
147
- "void myFunction(String param = 'default') { }",
148
- "return new Object[] { value1, value2 };",
149
- "void myFunction(String... args) { }",
150
- "void myFunction(Map<String, String> kwargs) { }",
151
- "long startTime = System.currentTimeMillis(); myFunction(); long endTime = System.currentTimeMillis(); long duration = endTime - startTime;",
152
- "@Decorator public void myFunction() { }",
153
- "Map<String, Object> cache = new HashMap<>();",
154
- "Stream<Integer> stream = Stream.of(1, 2, 3);",
155
- "yield return value;",
156
- "int nextValue = generator.next();",
157
- "Iterator<Integer> iterator = list.iterator();",
158
- "while (iterator.hasNext()) { int next = iterator.next(); }",
159
- "for (int i = 0; i < list.size(); i++) { System.out.println(i + ' ' + list.get(i)); }",
160
- "List<String> combined = Stream.concat(list1.stream(), list2.stream()).collect(Collectors.toList());",
161
- "Map<String, Integer> map = new HashMap<>(); for (int i = 0; i < keys.size(); i++) { map.put(keys.get(i), values.get(i)); }",
162
- "boolean equal = list1.equals(list2);",
163
- "boolean equal = map1.equals(map2);",
164
- "boolean equal = set1.equals(set2);",
165
- "Set<Integer> uniqueSet = new HashSet<>(list);",
166
- "set.clear();",
167
- "boolean isEmpty = set.isEmpty();",
168
- "set.add(element);",
169
- "set.remove(element);",
170
- "boolean contains = set.contains(element);",
171
- "int size = set.size();",
172
- "boolean hasIntersection = !Collections.disjoint(set1, set2);",
173
- "boolean isSubset = set1.containsAll(set2);",
174
- "boolean isSubstring = 'hello'.contains('ell');",
175
- "char firstChar = 'hello'.charAt(0);",
176
- "char lastChar = 'hello'.charAt('hello'.length() - 1);",
177
- "boolean isTextFile = fileName.endsWith('.txt');",
178
- "boolean isImageFile = fileName.endsWith('.jpg') || fileName.endsWith('.png');",
179
- "long rounded = Math.round(3.14);",
180
- "long ceil = (long) Math.ceil(3.14);",
181
- "long floor = (long) Math.floor(3.14);",
182
- "String formatted = String.format('%.2f', 3.14159);",
183
- "String randomString = new Random().ints(10, 97, 123).mapToObj(i -> (char) i).collect(StringBuilder::new, StringBuilder::append, StringBuilder::append).toString();",
184
- "boolean exists = new File('path').exists();",
185
- "File[] files = new File('path').listFiles();",
186
- "String extension = fileName.substring(fileName.lastIndexOf('.') + 1);",
187
- "String fileName = new File('path').getName();",
188
- "String fullPath = new File('path').getAbsolutePath();",
189
- "String version = System.getProperty('java.version');",
190
- "String os = System.getProperty('os.name');",
191
- "int cores = Runtime.getRuntime().availableProcessors();",
192
- "long memory = Runtime.getRuntime().totalMemory();",
193
- "File file = new File('path'); long freeSpace = file.getFreeSpace();",
194
- "String ip = InetAddress.getLocalHost().getHostAddress();",
195
- "boolean isConnected = InetAddress.getByName('www.google.com').isReachable(1000);",
196
- "URL url = new URL('http://example.com/file.txt'); try (InputStream in = url.openStream()) { Files.copy(in, Paths.get('file.txt'), StandardCopyOption.REPLACE_EXISTING); }",
197
- "HttpURLConnection connection = (HttpURLConnection) new URL('http://example.com').openConnection(); connection.setRequestMethod('POST');",
198
- "HttpURLConnection connection = (HttpURLConnection) new URL('http://example.com').openConnection(); connection.setRequestMethod('GET'); connection.setRequestProperty('User-Agent', 'Mozilla/5.0');",
199
- "Document doc = Jsoup.connect('http://example.com').get();",
200
- "String title = doc.title();",
201
- "Elements links = doc.select('a[href]');",
202
- "Elements images = doc.select('img[src]');",
203
- "Map<String, Integer> wordFrequency = new HashMap<>(); for (String word : text.split(' ')) { wordFrequency.put(word, wordFrequency.getOrDefault(word, 0) + 1); }",
204
- "Connection.Response loginForm = Jsoup.connect('http://example.com/login').method(Connection.Method.GET).execute(); Map<String, String> cookies = loginForm.cookies(); Document doc = Jsoup.connect('http://example.com/login').data('username', 'user', 'password', 'pass').cookies(cookies).post();",
205
- "String text = Jsoup.parse(html).text();",
206
- "Pattern pattern = Pattern.compile('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}'); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println(matcher.group()); }",
207
- "Pattern pattern = Pattern.compile('\\d{3}-\\d{3}-\\d{4}'); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println(matcher.group()); }",
208
- "Pattern pattern = Pattern.compile('\\d+'); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println(matcher.group()); }",
209
- "String replaced = text.replaceAll('pattern', 'replacement');",
210
- "boolean matches = Pattern.matches('pattern', text);",
211
- "String text = html.replaceAll('<[^>]+>', '');",
212
- "String encoded = StringEscapeUtils.escapeHtml4(html);",
213
- "String decoded = StringEscapeUtils.unescapeHtml4(html);",
214
- "JFrame frame = new JFrame('Simple GUI'); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);",
215
- "JFrame frame = new JFrame(); JButton button = new JButton(\"Click Me\"); frame.add(button);",
216
- "button.addActionListener(e -> JOptionPane.showMessageDialog(frame, \"Button Clicked!\"));",
217
- "String input = JOptionPane.showInputDialog(frame, \"Enter something:\");",
218
- "frame.setTitle(\"My Window\");",
219
- "frame.setSize(400, 300);",
220
- "frame.setLocationRelativeTo(null);",
221
- "JMenuBar menuBar = new JMenuBar(); JMenu menu = new JMenu(\"File\"); menuBar.add(menu); frame.setJMenuBar(menuBar);",
222
- "JComboBox<String> comboBox = new JComboBox<>(new String[]{\"Option 1\", \"Option 2\"}); frame.add(comboBox);",
223
- "JRadioButton radioButton = new JRadioButton(\"Select Me\"); frame.add(radioButton);",
224
- "JCheckBox checkBox = new JCheckBox(\"Check Me\"); frame.add(checkBox);",
225
- "JLabel label = new JLabel(new ImageIcon(\"image.jpg\")); frame.add(label);",
226
- "Clip clip = AudioSystem.getClip(); clip.open(AudioSystem.getAudioInputStream(new File(\"audio.wav\"))); clip.start();",
227
- "JFrame videoFrame = new JFrame(); Player player = Manager.createRealizedPlayer(new File(\"video.mp4\").toURI().toURL()); player.start();",
228
- "long currentTime = player.getTimeNanoseconds();",
229
- "Robot robot = new Robot(); BufferedImage screenshot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));",
230
- "Robot robot = new Robot(); robot.delay(5000); BufferedImage screenRecording = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));",
231
- "PointerInfo pointerInfo = MouseInfo.getPointerInfo(); Point point = pointerInfo.getLocation();",
232
- "Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_A); robot.keyRelease(KeyEvent.VK_A);",
233
- "Robot robot = new Robot(); robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);",
234
- "long timestamp = System.currentTimeMillis();",
235
- "Date date = new Date(timestamp);",
236
- "long timestamp = date.getTime();",
237
- "int dayOfWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);",
238
- "int daysInMonth = Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);",
239
- "Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_YEAR, 1); Date firstDayOfYear = calendar.getTime();",
240
- "Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMaximum(Calendar.DAY_OF_YEAR)); Date lastDayOfYear = calendar.getTime();",
241
- "Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 1); Date firstDayOfMonth = calendar.getTime();",
242
- "Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); Date lastDayOfMonth = calendar.getTime();",
243
- "int dayOfWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); boolean isWeekday = dayOfWeek >= Calendar.MONDAY && dayOfWeek <= Calendar.FRIDAY;",
244
- "int dayOfWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); boolean isWeekend = dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY;",
245
- "int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);",
246
- "int minute = Calendar.getInstance().get(Calendar.MINUTE);",
247
- "int second = Calendar.getInstance().get(Calendar.SECOND);",
248
- "Thread.sleep(1000);",
249
- "long millisTimestamp = System.currentTimeMillis();",
250
- "SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\"); String formattedDate = sdf.format(new Date());",
251
- "SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\"); Date date = sdf.parse(\"2023-10-01 12:00:00\");",
252
- "Thread thread = new Thread(() -> {}); thread.start();",
253
- "Thread.sleep(1000);",
254
- "ExecutorService executor = Executors.newFixedThreadPool(2); executor.submit(() -> {}); executor.submit(() -> {});",
255
- "String threadName = Thread.currentThread().getName();",
256
- "Thread thread = new Thread(() -> {}); thread.setDaemon(true); thread.start();",
257
- "ReentrantLock lock = new ReentrantLock(); lock.lock(); try {} finally { lock.unlock(); }",
258
- "Process process = Runtime.getRuntime().exec(\"notepad.exe\");",
259
- "long pid = process.pid();",
260
- "boolean isAlive = process.isAlive();",
261
- "ExecutorService executor = Executors.newFixedThreadPool(2); executor.submit(() -> {}); executor.submit(() -> {});",
262
- "BlockingQueue<Integer> queue = new LinkedBlockingQueue<>(); queue.put(1); int value = queue.take();",
263
- "PipedInputStream in = new PipedInputStream(); PipedOutputStream out = new PipedOutputStream(in);",
264
- "Thread.sleep(1000);",
265
- "Process process = Runtime.getRuntime().exec(\"ls\");",
266
- "BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = reader.readLine();",
267
- "int exitCode = process.waitFor();",
268
- "boolean isSuccess = exitCode == 0;",
269
- "String scriptPath = new File(\"\").getAbsolutePath();",
270
- "String[] args = new String[]{\"arg1\", \"arg2\"};",
271
- "Parser parser = new Parser(); parser.parse(args);",
272
- "parser.printHelp();",
273
- "ModuleLayer layer = ModuleLayer.boot(); layer.modules().forEach(System.out::println);",
274
- "Process process = Runtime.getRuntime().exec(\"pip install package\");",
275
- "Process process = Runtime.getRuntime().exec(\"pip uninstall package\");",
276
- "String version = Package.getPackage(\"package\").getImplementationVersion();",
277
- "Process process = Runtime.getRuntime().exec(\"python -m venv venv\");",
278
- "Process process = Runtime.getRuntime().exec(\"pip list\");",
279
- "Process process = Runtime.getRuntime().exec(\"pip install --upgrade package\");",
280
- "Connection conn = DriverManager.getConnection(\"jdbc:sqlite:sample.db\");",
281
- "Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(\"SELECT * FROM table\");",
282
- "PreparedStatement pstmt = conn.prepareStatement(\"INSERT INTO table (column) VALUES (?)\"); pstmt.setString(1, \"value\"); pstmt.executeUpdate();",
283
- "PreparedStatement pstmt = conn.prepareStatement(\"DELETE FROM table WHERE id = ?\"); pstmt.setInt(1, 1); pstmt.executeUpdate();",
284
- "PreparedStatement pstmt = conn.prepareStatement(\"UPDATE table SET column = ? WHERE id = ?\"); pstmt.setString(1, \"new_value\"); pstmt.setInt(2, 1); pstmt.executeUpdate();",
285
- "PreparedStatement pstmt = conn.prepareStatement(\"SELECT * FROM table\"); ResultSet rs = pstmt.executeQuery();",
286
- "PreparedStatement pstmt = conn.prepareStatement(\"SELECT * FROM table WHERE column = ?\"); pstmt.setString(1, \"value\"); ResultSet rs = pstmt.executeQuery();",
287
- "conn.close();",
288
- "Statement stmt = conn.createStatement(); stmt.execute(\"CREATE TABLE table (id INT, column VARCHAR(255))\");",
289
- "Statement stmt = conn.createStatement(); stmt.execute(\"DROP TABLE table\");",
290
- "DatabaseMetaData metaData = conn.getMetaData(); ResultSet rs = metaData.getTables(null, null, \"table\", null); boolean exists = rs.next();",
291
- "DatabaseMetaData metaData = conn.getMetaData(); ResultSet rs = metaData.getTables(null, null, null, new String[]{\"TABLE\"});",
292
- "Session session = sessionFactory.openSession(); session.save(new Entity());",
293
- "Session session = sessionFactory.openSession(); List<Entity> entities = session.createQuery(\"FROM Entity\").list();",
294
- "Session session = sessionFactory.openSession(); session.delete(session.get(Entity.class, 1));",
295
- "Session session = sessionFactory.openSession(); Entity entity = session.get(Entity.class, 1); entity.setColumn(\"new_value\"); session.update(entity);",
296
- "class Entity { @Id @GeneratedValue private int id; private String column; }",
297
- "class ChildEntity extends ParentEntity {}",
298
- "class Entity { @Id @GeneratedValue private int id; }",
299
- "class Entity { @Column(unique = true) private String column; }",
300
- "class Entity { @Column(columnDefinition = \"VARCHAR(255) DEFAULT 'default_value'\") private String column; }",
301
- "CSVWriter writer = new CSVWriter(new FileWriter(\"output.csv\")); writer.writeNext(new String[]{\"column1\", \"column2\"});",
302
- "Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet(\"Sheet1\"); FileOutputStream fileOut = new FileOutputStream(\"workbook.xlsx\"); workbook.write(fileOut);",
303
- "Gson gson = new Gson(); String json = gson.toJson(new Entity());",
304
- "Workbook workbook = WorkbookFactory.create(new File(\"workbook.xlsx\")); Sheet sheet = workbook.getSheetAt(0);",
305
- "Workbook workbook1 = WorkbookFactory.create(new File(\"workbook1.xlsx\")); Workbook workbook2 = WorkbookFactory.create(new File(\"workbook2.xlsx\")); Sheet sheet = workbook1.createSheet(\"Merged\");",
306
- "Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet(\"New Sheet\");",
307
- "Sheet sheet1 = workbook.getSheetAt(0); Sheet sheet2 = workbook.createSheet(\"Copy\"); CellStyle style = sheet1.getRow(0).getCell(0).getCellStyle(); sheet2.getRow(0).getCell(0).setCellStyle(style);",
308
- "CellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(IndexedColors.RED.getIndex()); style.setFillPattern(FillPatternType.SOLID_FOREGROUND);",
309
- "Font font = workbook.createFont(); font.setBold(true); CellStyle style = workbook.createCellStyle(); style.setFont(font);",
310
- "Sheet sheet = workbook.getSheetAt(0); String cellValue = sheet.getRow(0).getCell(0).getStringCellValue();",
311
- "Sheet sheet = workbook.getSheetAt(0); sheet.getRow(0).getCell(0).setCellValue(\"New Value\");",
312
- "BufferedImage image = ImageIO.read(new File(\"image.jpg\")); int width = image.getWidth(); int height = image.getHeight();",
313
- "BufferedImage originalImage = ImageIO.read(new File(\"image.jpg\")); BufferedImage resizedImage = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB); Graphics2D g = resizedImage.createGraphics(); g.drawImage(originalImage, 0, 0, 100, 100, null);"
314
-
315
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
 
317
 
318
 
 
14
  # 预定义代码片段
15
  CODE_SNIPPETS = [
16
 
17
+ "print('Hello, World!')",
18
+ "def add(a, b): return a + b",
19
+ "import random; def generate_random(): return random.randint(1, 100)",
20
+ "def is_even(n): return n % 2 == 0",
21
+ "def string_length(s): return len(s)",
22
+ "from datetime import date; def get_current_date(): return date.today()",
23
+ "import os; def file_exists(path): return os.path.exists(path)",
24
+ "def read_file(path): return open(path, 'r').read()",
25
+ "def write_file(path, content): open(path, 'w').write(content)",
26
+ "from datetime import datetime; def get_current_time(): return datetime.now()",
27
+ "def to_upper(s): return s.upper()",
28
+ "def to_lower(s): return s.lower()",
29
+ "def reverse_string(s): return s[::-1]",
30
+ "def list_length(lst): return len(lst)",
31
+ "def list_max(lst): return max(lst)",
32
+ "def list_min(lst): return min(lst)",
33
+ "def sort_list(lst): return sorted(lst)",
34
+ "def merge_lists(lst1, lst2): return lst1 + lst2",
35
+ "def remove_element(lst, element): lst.remove(element)",
36
+ "def is_list_empty(lst): return len(lst) == 0",
37
+ "def count_char(s, char): return s.count(char)",
38
+ "def contains_substring(s, sub): return sub in s",
39
+ "def int_to_str(n): return str(n)",
40
+ "def str_to_int(s): return int(s)",
41
+ "def is_numeric(s): return s.isdigit()",
42
+ "def get_index(lst, element): return lst.index(element)",
43
+ "def clear_list(lst): lst.clear()",
44
+ "def reverse_list(lst): lst.reverse()",
45
+ "def remove_duplicates(lst): return list(set(lst))",
46
+ "def is_in_list(lst, value): return value in lst",
47
+ "def create_dict(): return {}",
48
+ "def add_to_dict(d, key, value): d[key] = value",
49
+ "def delete_key(d, key): del d[key]",
50
+ "def get_keys(d): return list(d.keys())",
51
+ "def get_values(d): return list(d.values())",
52
+ "def merge_dicts(d1, d2): return {**d1, **d2}",
53
+ "def is_dict_empty(d): return len(d) == 0",
54
+ "def get_value(d, key): return d[key]",
55
+ "def key_exists(d, key): return key in d",
56
+ "def clear_dict(d): d.clear()",
57
+ "def count_lines(path): return len(open(path).readlines())",
58
+ "def write_list_to_file(path, lst): open(path, 'w').write('\\n'.join(map(str, lst)))",
59
+ "def read_list_from_file(path): return open(path, 'r').read().splitlines()",
60
+ "def count_words(path): return len(open(path, 'r').read().split())",
61
+ "def is_leap_year(year): return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)",
62
+ "from datetime import datetime; def format_time(dt): return dt.strftime('%Y-%m-%d %H:%M:%S')",
63
+ "from datetime import date; def days_between(d1, d2): return (d2 - d1).days",
64
+ "import os; def get_current_dir(): return os.getcwd()",
65
+ "import os; def list_files(path): return os.listdir(path)",
66
+ "import os; def create_dir(path): os.mkdir(path)"
67
+ "import os; def remove_dir(path): os.rmdir(path)",
68
+ "import os; def is_file(path): return os.path.isfile(path)",
69
+ "import os; def is_dir(path): return os.path.isdir(path)",
70
+ "import os; def get_file_size(path): return os.path.getsize(path)",
71
+ "import os; def rename_file(src, dst): os.rename(src, dst)",
72
+ "import shutil; def copy_file(src, dst): shutil.copy(src, dst)",
73
+ "import shutil; def move_file(src, dst): shutil.move(src, dst)",
74
+ "import os; def delete_file(path): os.remove(path)",
75
+ "import os; def get_env_var(key): return os.getenv(key)",
76
+ "import os; def set_env_var(key, value): os.environ[key] = value",
77
+ "import webbrowser; def open_url(url): webbrowser.open(url)",
78
+ "import requests; def send_get_request(url): return requests.get(url).text",
79
+ "import json; def parse_json(data): return json.loads(data)",
80
+ "import json; def write_json(data, path): open(path, 'w').write(json.dumps(data))",
81
+ "import json; def read_json(path): return json.loads(open(path, 'r').read())",
82
+ "def list_to_string(lst): return ''.join(lst)",
83
+ "def string_to_list(s): return list(s)",
84
+ "def join_with_comma(lst): return ','.join(lst)",
85
+ "def join_with_newline(lst): return '\\n'.join(lst)",
86
+ "def split_by_space(s): return s.split()",
87
+ "def split_by_char(s, char): return s.split(char)",
88
+ "def split_to_chars(s): return list(s)",
89
+ "def replace_string(s, old, new): return s.replace(old, new)",
90
+ "def remove_spaces(s): return s.replace(' ', '')",
91
+ "import string; def remove_punctuation(s): return s.translate(str.maketrans('', '', string.punctuation))",
92
+ "def is_string_empty(s): return len(s) == 0",
93
+ "def is_palindrome(s): return s == s[::-1]",
94
+ "import csv; def write_csv(data, path): open(path, 'w', newline='').write('\\n'.join([','.join(map(str, row)) for row in data]))",
95
+ "import csv; def read_csv(path): return [row for row in csv.reader(open(path, 'r'))]",
96
+ "def count_csv_lines(path): return len(open(path).readlines())",
97
+ "import random; def shuffle_list(lst): random.shuffle(lst)",
98
+ "import random; def random_choice(lst): return random.choice(lst)",
99
+ "import random; def random_sample(lst, k): return random.sample(lst, k)",
100
+ "import random; def roll_dice(): return random.randint(1, 6)",
101
+ "import random; def flip_coin(): return random.choice(['Heads', 'Tails'])",
102
+ "import random; import string; def generate_password(length=8): return ''.join(random.choices(string.ascii_letters + string.digits, k=length))",
103
+ "import random; def generate_color(): return '#%06x' % random.randint(0, 0xFFFFFF)",
104
+ "import uuid; def generate_uuid(): return str(uuid.uuid4())",
105
+ "class MyClass: pass",
106
+ "def create_instance(): return MyClass()",
107
+ "class MyClass: def my_method(self): pass",
108
+ "class MyClass: def __init__(self): self.my_attr = None",
109
+ "class ChildClass(MyClass): pass",
110
+ "class ChildClass(MyClass): def my_method(self): pass",
111
+ "class MyClass: @classmethod def my_class_method(cls): pass",
112
+ "class MyClass: @staticmethod def my_static_method(): pass",
113
+ "def check_type(obj): return type(obj)",
114
+ "def get_attr(obj, attr): return getattr(obj, attr)",
115
+ "def set_attr(obj, attr, value): setattr(obj, attr, value)",
116
+ "def del_attr(obj, attr): delattr(obj, attr)",
117
+ """try:
118
+ x = 1 / 0
119
+ except ZeroDivisionError:
120
+ pass""",
121
+ """class CustomError(Exception): pass
122
+ def raise_custom_error(): raise CustomError('Error occurred')""",
123
+ """try:
124
+ x = 1 / 0
125
+ except Exception as e: return str(e)""",
126
+ """import logging; logging.basicConfig(filename='error.log', level=logging.ERROR); logging.error('Error occurred')""",
127
+ """import time; def timer(): start = time.time(); return lambda: time.time() - start""",
128
+ """import time; def run_time(): start = time.time(); return lambda: time.time() - start""",
129
+ """import sys; def print_progress(progress): sys.stdout.write(f'\\rProgress: {progress}%'); sys.stdout.flush()""",
130
+ """import time; def delay(seconds): time.sleep(seconds)""",
131
+ "lambda x: x * 2",
132
+ "map(lambda x: x * 2, [1, 2, 3])",
133
+ "filter(lambda x: x > 2, [1, 2, 3])",
134
+ "from functools import reduce; reduce(lambda x, y: x + y, [1, 2, 3])",
135
+ "[x * 2 for x in [1, 2, 3]]",
136
+ "{x: x * 2 for x in [1, 2, 3]}",
137
+ "{x for x in [1, 2, 3]}",
138
+ "set1 & set2",
139
+ "set1 | set2",
140
+ "set1 - set2",
141
+ "[x for x in lst if x is not None]",
142
+ """try:
143
+ with open('file.txt', 'r') as f: pass
144
+ except IOError: pass""",
145
+ "type(var)",
146
+ "bool(s)",
147
+ "if condition: pass",
148
+ "while condition: pass",
149
+ "for item in lst: pass",
150
+ "for key, value in d.items(): pass",
151
+ "for char in s: pass",
152
+ "for item in lst: if condition: break",
153
+ "for item in lst: if condition: continue",
154
+ "def my_func(): pass",
155
+ "def my_func(param=1): pass",
156
+ "def my_func(): return 1, 2",
157
+ "def my_func(*args): pass",
158
+ "def my_func(**kwargs): pass",
159
+ """import time; def timer(func):
160
+ def wrapper(*args, **kwargs):
161
+ start = time.time()
162
+ result = func(*args, **kwargs)
163
+ print(f'Time: {time.time() - start}'); return result
164
+ return wrapper""",
165
+ """def decorator(func):
166
+ def wrapper(*args, **kwargs): return func(*args, **kwargs)
167
+ return wrapper""",
168
+ """from functools import lru_cache; @lru_cache(maxsize=None)
169
+ def my_func(): pass""",
170
+ "def my_generator(): yield 1",
171
+ "gen = my_generator(); next(gen)",
172
+ "class MyIterator: def __iter__(self): return self; def __next__(self): pass",
173
+ "it = iter([1, 2, 3]); next(it)",
174
+ "for i, val in enumerate(lst): pass",
175
+ "list(zip(lst1, lst2))",
176
+ "dict(zip(keys, values))",
177
+ "lst1 == lst2",
178
+ "dict1 == dict2",
179
+ "set1 == set2",
180
+ "set(lst)",
181
+ "set.clear()",
182
+ "len(set) == 0",
183
+ "set.add(item)",
184
+ "set.remove(item)",
185
+ "item in set",
186
+ "len(set)",
187
+ "set1 & set2",
188
+ "set(lst1).issubset(lst2)",
189
+ "sub in s",
190
+ "s[0]",
191
+ "s[-1]",
192
+ "import mimetypes; mimetypes.guess_type(path)[0] == 'text/plain'",
193
+ "import mimetypes; mimetypes.guess_type(path)[0].startswith('image/')",
194
+ "round(num)",
195
+ "import math; math.ceil(num)",
196
+ "import math; math.floor(num)",
197
+ "f'{num:.2f}'",
198
+ "import random; import string; ''.join(random.choices(string.ascii_letters + string.digits, k=8))",
199
+ "import os; os.path.exists(path)",
200
+ "import os; for root, dirs, files in os.walk(path): pass",
201
+ "import os; os.path.splitext(path)[1]",
202
+ "import os; os.path.basename(path)",
203
+ "import os; os.path.abspath(path)",
204
+ "import platform; platform.python_version()",
205
+ "import platform; platform.system()",
206
+ "import multiprocessing; multiprocessing.cpu_count()",
207
+ "import psutil; psutil.virtual_memory().total",
208
+ "import psutil; psutil.disk_usage('/')",
209
+ "import socket; socket.gethostbyname(socket.gethostname())",
210
+ "import requests; try: requests.get('http://www.google.com'); return True; except: return False",
211
+ "import requests; def download_file(url, path): with open(path, 'wb') as f: f.write(requests.get(url).content)",
212
+ "def upload_file(path): with open(path, 'rb') as f: requests.post('http://example.com/upload', files={'file': f})",
213
+ "import requests; requests.post(url, data={'key': 'value'})",
214
+ "import requests; requests.get(url, params={'key': 'value'})",
215
+ "import requests; requests.get(url, headers={'key': 'value'})",
216
+ "from bs4 import BeautifulSoup; BeautifulSoup(html, 'html.parser')",
217
+ "from bs4 import BeautifulSoup; soup.title.text",
218
+ "from bs4 import BeautifulSoup; [a['href'] for a in soup.find_all('a')]",
219
+ "from bs4 import BeautifulSoup; import requests; for img in soup.find_all('img'): requests.get(img['src']).content",
220
+ "from collections import Counter; Counter(text.split())",
221
+ "import requests; session = requests.Session(); session.post(login_url, data={'username': 'user', 'password': 'pass'})",
222
+ "from bs4 import BeautifulSoup; soup.get_text()",
223
+ "import re; re.findall(r'[\\w.-]+@[\\w.-]+', text)",
224
+ "import re; re.findall(r'\\+?\\d[\\d -]{8,12}\\d', text)",
225
+ "import re; re.findall(r'\\d+', text)",
226
+ "import re; re.sub(pattern, repl, text)",
227
+ "import re; re.match(pattern, text)",
228
+ "from bs4 import BeautifulSoup; soup.get_text()",
229
+ "import html; html.escape(text)",
230
+ "import html; html.unescape(text)",
231
+ "import tkinter as tk; root = tk.Tk(); root.mainloop()",
232
+ "import tkinter as tk; def add_button(window, text): return tk.Button(window, text=text)",
233
+ """def bind_click(button, func): button.config(command=func)""",
234
+ """import tkinter.messagebox; def show_alert(message): tkinter.messagebox.showinfo('Info', message)""",
235
+ """def get_entry_text(entry): return entry.get()""",
236
+ "def set_title(window, title): window.title(title)",
237
+ "def set_size(window, width, height): window.geometry(f'{width}x{height}')",
238
+ """def center_window(window):
239
+ window.update_idletasks()
240
+ width = window.winfo_width()
241
+ height = window.winfo_height()
242
+ x = (window.winfo_screenwidth() // 2) - (width // 2)
243
+ y = (window.winfo_screenheight() // 2) - (height // 2)
244
+ window.geometry(f'{width}x{height}+{x}+{y}')""",
245
+ """def create_menu(window): return tk.Menu(window)""",
246
+ "def create_combobox(window): return ttk.Combobox(window)",
247
+ "def create_radiobutton(window, text): return tk.Radiobutton(window, text=text)",
248
+ "def create_checkbutton(window, text): return tk.Checkbutton(window, text=text)",
249
+ """from PIL import ImageTk, Image; def show_image(window, path):
250
+ img = Image.open(path)
251
+ photo = ImageTk.PhotoImage(img)
252
+ label = tk.Label(window, image=photo)
253
+ label.image = photo
254
+ return label""",
255
+ "import pygame; def play_audio(path): pygame.mixer.init(); pygame.mixer.music.load(path); pygame.mixer.music.play()",
256
+ "import cv2; def play_video(path): cap = cv2.VideoCapture(path); while cap.isOpened(): ret, frame = cap.read()",
257
+ "def get_playback_time(): return pygame.mixer.music.get_pos()",
258
+ "import pyautogui; def screenshot(): return pyautogui.screenshot()",
259
+ "import pyautogui; import time; def record_screen(duration): return [pyautogui.screenshot() for _ in range(duration)]",
260
+ "def get_mouse_pos(): return pyautogui.position()",
261
+ "import pyautogui; def type_text(text): pyautogui.write(text)",
262
+ "import pyautogui; def click_mouse(x, y): pyautogui.click(x, y)",
263
+ "import time; def get_timestamp(): return int(time.time())",
264
+ "import datetime; def timestamp_to_date(ts): return datetime.datetime.fromtimestamp(ts)",
265
+ "import time; def date_to_timestamp(dt): return int(time.mktime(dt.timetuple()))",
266
+ "def get_weekday(): return datetime.datetime.now().strftime('%A')",
267
+ "import calendar; def get_month_days(): return calendar.monthrange(datetime.datetime.now().year, datetime.datetime.now().month)[1]",
268
+ "def first_day_of_year(): return datetime.date(datetime.datetime.now().year, 1, 1)",
269
+ "def last_day_of_year(): return datetime.date(datetime.datetime.now().year, 12, 31)",
270
+ "def first_day_of_month(month): return datetime.date(datetime.datetime.now().year, month, 1)",
271
+ "import calendar; def last_day_of_month(month): return datetime.date(datetime.datetime.now().year, month, calendar.monthrange(datetime.datetime.now().year, month)[1])",
272
+ "def is_weekday(): return datetime.datetime.now().weekday() < 5",
273
+ "def is_weekend(): return datetime.datetime.now().weekday() >= 5",
274
+ "def current_hour(): return datetime.datetime.now().hour",
275
+ "def current_minute(): return datetime.datetime.now().minute",
276
+ "def current_second(): return datetime.datetime.now().second",
277
+ "import time; def delay_1s(): time.sleep(1)",
278
+ "import time; def millis_timestamp(): return int(time.time() * 1000)",
279
+ "def format_time(dt, fmt='%Y-%m-%d %H:%M:%S'): return dt.strftime(fmt)",
280
+ "from dateutil.parser import parse; def parse_time(s): return parse(s)",
281
+ "import threading; def create_thread(target): return threading.Thread(target=target)",
282
+ "import time; def thread_pause(seconds): time.sleep(seconds)",
283
+ "def run_threads(*threads): [t.start() for t in threads]",
284
+ "import threading; def current_thread_name(): return threading.current_thread().name",
285
+ "def set_daemon(thread): thread.daemon = True",
286
+ "import threading; lock = threading.Lock()",
287
+ "import multiprocessing; def create_process(target): return multiprocessing.Process(target=target)",
288
+ "import os; def get_pid(): return os.getpid()",
289
+ "import psutil; def is_process_alive(pid): return psutil.pid_exists(pid)",
290
+ "def run_processes(*procs): [p.start() for p in procs]",
291
+ "from queue import Queue; q = Queue()",
292
+ "from multiprocessing import Pipe; parent_conn, child_conn = Pipe()",
293
+ "import os; def limit_cpu_usage(percent): os.system(f'cpulimit -p {os.getpid()} -l {percent}')",
294
+ "import subprocess; def run_command(cmd): subprocess.run(cmd, shell=True)",
295
+ "import subprocess; def get_command_output(cmd): return subprocess.check_output(cmd, shell=True).decode()",
296
+ "def get_exit_code(cmd): return subprocess.call(cmd, shell=True)",
297
+ "def is_success(code): return code == 0",
298
+ "import os; def script_path(): return os.path.realpath(__file__)",
299
+ "import sys; def get_cli_args(): return sys.argv[1:]",
300
+ "import argparse; parser = argparse.ArgumentParser()",
301
+ "parser.print_help()",
302
+ "help('modules')",
303
+ "import pip; def install_pkg(pkg): pip.main(['install', pkg])",
304
+ "import pip; def uninstall_pkg(pkg): pip.main(['uninstall', pkg])",
305
+ "import pkg_resources; def get_pkg_version(pkg): return pkg_resources.get_distribution(pkg).version",
306
+ "import venv; def create_venv(path): venv.create(path)",
307
+ "import pip; def list_pkgs(): return pip.get_installed_distributions()",
308
+ "import pip; def upgrade_pkg(pkg): pip.main(['install', '--upgrade', pkg])",
309
+ "import sqlite3; conn = sqlite3.connect(':memory:')",
310
+ "def execute_query(conn, query): return conn.execute(query)",
311
+ """def insert_record(conn, table, data): conn.execute(f'INSERT INTO {table} VALUES ({",".join("?"*len(data))})', data)""",
312
+ "def delete_record(conn, table, condition): conn.execute(f'DELETE FROM {table} WHERE {condition}')",
313
+ "def update_record(conn, table, set_clause, condition): conn.execute(f'UPDATE {table} SET {set_clause} WHERE {condition}')",
314
+ "def fetch_all(conn, query): return conn.execute(query).fetchall()",
315
+ "def safe_query(conn, query, params): return conn.execute(query, params)",
316
+ "def close_db(conn): conn.close()",
317
+ "def create_table(conn, name, columns): conn.execute(f'CREATE TABLE {name} ({columns})')",
318
+ "def drop_table(conn, name): conn.execute(f'DROP TABLE {name}')",
319
+ "def table_exists(conn, name): return conn.execute(f\"SELECT name FROM sqlite_master WHERE type='table' AND name='{name}'\").fetchone()",
320
+ "def list_tables(conn): return conn.execute(\"SELECT name FROM sqlite_master WHERE type='table'\").fetchall()",
321
+ """from sqlalchemy import Column, Integer, String
322
+ class User(Base):
323
+ __tablename__ = 'users'
324
+ id = Column(Integer, primary_key=True)
325
+ name = Column(String)""",
326
+ "session.add(User(name='John'))",
327
+ "session.query(User).filter_by(name='John')",
328
+ "session.query(User).filter_by(name='John').delete()",
329
+ "session.query(User).filter_by(name='John').update({'name': 'Bob'})",
330
+ "Base = declarative_base()",
331
+ "class Admin(User): pass",
332
+ "id = Column(Integer, primary_key=True)",
333
+ "name = Column(String, unique=True)",
334
+ "name = Column(String, default='Unknown')",
335
+ "import csv; def export_csv(data, path): open(path, 'w').write('\\n'.join([','.join(map(str, row)) for row in data]))",
336
+ "import pandas as pd; pd.DataFrame(data).to_excel(path)",
337
+ "import json; json.dump(data, open(path, 'w'))",
338
+ "pd.read_excel(path).values.tolist()",
339
+ "pd.concat([pd.read_excel(f) for f in files])",
340
+ "with pd.ExcelWriter(path, mode='a') as writer: df.to_excel(writer, sheet_name='New')",
341
+ "from openpyxl.styles import copy; copy.copy(style)",
342
+ "from openpyxl.styles import PatternFill; cell.fill = PatternFill(start_color='FFFF00', fill_type='solid')",
343
+ "from openpyxl.styles import Font; cell.font = Font(bold=True)",
344
+ "sheet['A1'].value",
345
+ "sheet['A1'] = value",
346
+ "from PIL import Image; Image.open(path).size",
347
+ "from PIL import Image; Image.open(path).resize((w, h))"
348
 
349
 
350